linkThe artifact object
Below you will find the various attributes for the artifact resource.
Artifacts can be downloaded according to the following rules:
- Licenses: can access artifacts for their product, given the artifact was created
prior to the license's
expiry
(if the license has an expiry), and that the license fulfills all of the release's entitlement constraints. This is typically known as a "Perpetual Fallback License." - Users: can access artifacts for their products, given the user has one or more associated licenses which fulfill the license requirements above.
- Products: can access any artifact for their product.
- Admins: can access any artifact for their account.
linkAttributes
linkdata.attributes.filename
stringThe filename of the artifact. This value must be unique to the artifact's release relationship. You may include prefixes e.g.
prod-1/install.sh
to create an orderly directory structure, useful when distributing multiple products that need to be accessed by filename. This is just like using a file-system, organized in directories to avoid name clashes.linkdata.attributes.filetype
stringThe filetype of the artifact. This must match the filename's extension. When the filename does not contain an extension, filetype can be an arbitrary string, e.g.
bin
ornull
. When the release has multiple valid extensions, e.g.tar.gz
, we recommend including the complete extension in the filetype.linkdata.attributes.status
stringread onlyThe artifact's status, indicating whether or not a file has been uploaded. Waiting and failed artifacts are unlisted. One of:
WAITING
,UPLOADED
, orFAILED
.An artifact will be considered failed if a file is not uploaded within 1 hour from creation date. Failed artifacts will automatically be pruned after 24 hours.linkdata.attributes.signature
stringThe signature of the artifact. This can be an arbitrary string, utilized outside of Keygen for verification purposes. For example, Keygen's CLI uses Ed25519ph signatures, base64 encoded without padding.
Please note that when using the Keygen CLI, the default Ed25519ph signature will be base64 encoded WITHOUT padding. You may need to add padding when decoding, depending on programming language. You can add padding by appending=
untillen(s) % 4 == 0
.linkdata.attributes.checksum
stringThe checksum of the artifact. This can be an arbitrary string, utilized outside of Keygen for verification purposes. For example, Keygen's CLI uses SHA-512 checksums, base64 encoded without padding.
Please note that when using the Keygen CLI, the default SHA-512 checksum will be base64 encoded WITHOUT padding. You may need to add padding when decoding, depending on programming language. You can add padding by appending=
untillen(s) % 4 == 0
.linkdata.attributes.metadata
object<string, any>Object containing artifact metadata. This can be used to store things such as additional checksums, e.g. SHA-256 and SHA-512 for integrity checks, for engine-specific requirements e.g. requiresPython, or for notes.
linkRelationships
linkdata.relationships.environment
individualent onlyThese relationships are only available for accounts on an Ent tier.The environment that the artifact belongs to.
Example object
{ "data": { "id": "0dad8516-f071-4573-bcea-d774e81c4a37", "type": "artifacts", "attributes": { "filename": "install.sh", "filetype": "sh", "filesize": 3097, "platform": null, "arch": null, "signature": "q73uw0RZ3MDooFeIUYP2iMYSWsHdL2MIhnq74IiGVEVXx0Qxeuh6eWDvlbkZ15RmjxRlTeJFjTwOubF9Hdc9Aw", "checksum": "l7PETeny2BRIC4T7tC1w0dLOeR0ghWtDJZw3GIuIK9LEdSKRZKda7iWJVkH9KhDSroPunsAAJ1T14UB88MFiBg", "status": "UPLOADED", "metadata": {}, "created": "2022-05-30T13:28:01.592Z", "updated": "2022-05-30T13:28:31.786Z" }, "relationships": { "account": { "links": { "related": "/v1/accounts/<account>" }, "data": { "type": "accounts", "id": "<account>" } }, "release": { "links": { "related": "/v1/accounts/<account>/releases/8157c656-c60f-4b82-b93f-3b3ed73abf80" }, "data": { "type": "releases", "id": "8157c656-c60f-4b82-b93f-3b3ed73abf80" } } }, "links": { "related": "/v1/accounts/<account>/releases/8157c656-c60f-4b82-b93f-3b3ed73abf80/artifacts/0dad8516-f071-4573-bcea-d774e81c4a37", "self": "/v1/accounts/<account>/artifacts/0dad8516-f071-4573-bcea-d774e81c4a37" } }}