Get File
Get the signed S3 url of a specific file
Returns the signed S3 url to download a file (an artifact or releaseMetadata)
Request
URI
GET
https://api.app-catalog.vmware.com/v1/catalogs/{catalog_id}/files/{digest}
COPY
Path Parameters
string
digest
Required
A digest that identifies the file (artifact or releaseMetadata)
digest example
127e6fbfe24a750e72930c220a8e138275656b8e5d8f48a98c3c92df2caba935
Query Parameters
string
filename
Required
The name of the file
filename example
result.json
Responses
200
S3 signed downloadable url
Returns
SignedUrl
of type(s)
application/json
{
"url": "https://bitnami-artifacts-0.s3.amazonaws.com/825fa65f-0fe7-4ebc-a9af-d07d6ffb47b2/2407e34f1b74b5easdfasdfdaef8c784392433e?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIASW5XIUJAMGFUSQ%2F20230814%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20230814T124806Z&X-Amz-Expires=600&X-Amz-SignedHeaders=host&response-content-disposition=attachment%3B%20filename%3D%22asset-spec.json%22&X-Amz-Signature=be5a079f30fc799b3d40b94e03b9c667142ca95e9774a05bc0012e633938fef8"
}
string
url
Required
S3 singed url of artifact or releaseMetadata
400
An error related to the request
Returns
ConstraintsViolationsError
of type(s)
application/problem+json
This response body class contains all of the following:
InlineConstraintsViolationsError0
{
"type": "https://example.com/probs/validation-error",
"title": "Validation error",
"status": 400,
"detail": "There was an error validating the request",
"violations": [
{
"field": "amount",
"message": "It should be greater than zero"
}
]
}
array of
object
violations
Required
It represents a constraints violation error
403
The requesting user is not authorized to get the file
Returns
Error403
of type(s)
application/problem+json
This response body class contains all of the following:
InlineError4030
{
"type": "https://example.com/probs/out-of-credit",
"title": "You do not have enough credit.",
"status": 403,
"detail": "Your current balance is 30, but that costs 50",
"instance": "/account/2217eb9c-f042-11eb-9a03-0242ac130003/msgs/abc"
}
404
The requested file digest cannot be found
Returns
Error404
of type(s)
application/problem+json
This response body class contains all of the following:
InlineError4040
{
"type": "https://example.com/probs/out-of-credit",
"title": "You do not have enough credit.",
"status": 403,
"detail": "Your current balance is 30, but that costs 50",
"instance": "/account/2217eb9c-f042-11eb-9a03-0242ac130003/msgs/abc"
}
500
An internal server error object
Returns
Error500
of type(s)
application/problem+json
This response body class contains all of the following:
InlineError5000
{
"type": "https://example.com/probs/out-of-credit",
"title": "You do not have enough credit.",
"status": 403,
"detail": "Your current balance is 30, but that costs 50",
"instance": "/account/2217eb9c-f042-11eb-9a03-0242ac130003/msgs/abc"
}
503
The server is temporarily unavailable
Returns
Error503
of type(s)
application/problem+json
This response body class contains all of the following:
InlineError5030
{
"type": "https://example.com/probs/out-of-credit",
"title": "You do not have enough credit.",
"status": 403,
"detail": "Your current balance is 30, but that costs 50",
"instance": "/account/2217eb9c-f042-11eb-9a03-0242ac130003/msgs/abc"
}
Code Samples
COPY
curl -H 'Authorization: <value>' https://{api_host}/v1/catalogs/{catalog_id}/files/{digest}?filename=v