Get a presigned URL for uploading a plugin
POST/v1/plugins/upload-url
This route allows you to get a presigned URL for uploading a new plugin file. Use the returned URL and fields to upload the file directly, then call the finalize endpoint to complete the process.
Request
Request body schema (JSON)
{
"title": "Body",
"body": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"identifier": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^(?!\\.{1,2}$)[A-Za-z0-9@_.+:\\\\/=-]+$"
}
},
"required": [
"identifier"
],
"title": "createAndGetPluginUploadUrlBodyInput"
}
}
}
}
}Responses
- 200
- 400
- 401
- 403
- 409
- 500
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
Responses (JSON)
{
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"data": {
"type": "object",
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"fields": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"expiresInSeconds": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"key": {
"type": "string"
}
},
"required": [
"url",
"fields",
"expiresInSeconds",
"key"
],
"additionalProperties": false
}
},
"required": [
"ok",
"data"
],
"additionalProperties": false,
"title": "createAndGetPluginUploadUrlResponse"
}
}
}
},
"400": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"error": {
"type": "string"
},
"message": {
"type": "string"
}
},
"required": [
"ok"
],
"additionalProperties": false,
"title": "serverError"
}
}
}
},
"401": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"error": {
"type": "string"
},
"message": {
"type": "string"
}
},
"required": [
"ok"
],
"additionalProperties": false,
"title": "serverError"
}
}
}
},
"403": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"error": {
"type": "string"
},
"message": {
"type": "string"
}
},
"required": [
"ok"
],
"additionalProperties": false,
"title": "serverError"
}
}
}
},
"409": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"error": {
"type": "string"
},
"message": {
"type": "string"
}
},
"required": [
"ok"
],
"additionalProperties": false,
"title": "serverError"
}
}
}
},
"500": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"error": {
"type": "string"
},
"message": {
"type": "string"
}
},
"required": [
"ok"
],
"additionalProperties": false,
"title": "serverError"
}
}
}
}
}
}