# Packages

Manage dependency packages and versions.

## Get organization dependency packages

> Get organization dependency packages by admin

```json
{"openapi":"3.0.3","info":{"title":"AppMaker API - OAS 3.0","version":"1.0.0"},"tags":[{"name":"dependency-management","description":"Operations related to dependency management."},{"name":"packages","description":"Manage dependency packages and versions."}],"servers":[{"url":"https://abp-api.akinon.net/api/v1","description":"Production server"},{"url":"https://abptest-api.akinon.net/api/v1","description":"Test server"},{"url":"http://localhost:5001/api/v1","description":"Local server"}],"security":[{"bearerAuth":[]},{"accessToken":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"},"accessToken":{"type":"apiKey","in":"header","name":"x-access-token"}},"parameters":{"OrganizationIdPathParam":{"name":"organizationId","in":"path","required":true,"description":"Organization ID","schema":{"$ref":"#/components/schemas/MongoId"}},"DependencyIdPathParam":{"name":"dependencyId","in":"path","required":true,"description":"Dependency ID","schema":{"$ref":"#/components/schemas/MongoId"}},"VersionNumberQueryParam":{"name":"versionNumber","in":"query","required":false,"description":"Version number","schema":{"type":"string"}},"EnvVersionNumberQueryParam":{"name":"envVersionNumber","in":"query","required":false,"description":"Env version number","schema":{"type":"string"}},"LimitQueryParam":{"name":"limit","in":"query","required":false,"description":"The limit of per page","schema":{"type":"integer","default":10}},"PageQueryParam":{"name":"page","in":"query","required":false,"description":"Current page number","schema":{"type":"integer","default":1}},"SortQueryParam":{"name":"sort","in":"query","required":false,"description":"Sort","schema":{"type":"string"}}},"schemas":{"MongoId":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Entity ID"},"Pagination":{"type":"object","required":["totalDocs","limit","page","totalPages","pagingCounter","hasPrevPage","hasNextPage","prevPage","nextPage","docs"],"properties":{"totalDocs":{"type":"integer","description":"The total number of users"},"limit":{"type":"integer","description":"The limit of users per page","default":10},"page":{"type":"integer","description":"Current page","default":1},"totalPages":{"type":"integer","description":"The total number of pages"},"pagingCounter":{"type":"integer","description":"Current page number"},"hasPrevPage":{"type":"boolean","description":"Has previous page"},"hasNextPage":{"type":"boolean","description":"Has next page"},"prevPage":{"type":"integer","description":"Previous page number"},"nextPage":{"type":"integer","description":"Next page number"},"docs":{"description":"Items"}}},"DependencyPackage":{"type":"object","required":["assetUrl","isPrivate","readme","_id","versionNumber","createdAt","updatedAt","publisher","dependency","checksum","rank","envVersionNumber"],"properties":{"assetUrl":{"type":"string","description":"Dependency package asset URL"},"isPrivate":{"type":"boolean","description":"Dependency package is private"},"readme":{"type":"string","description":"Dependency package readme"},"_id":{"$ref":"#/components/schemas/ReadOnlyMongoId"},"versionNumber":{"type":"string","minLength":5,"maxLength":20,"description":"Dependency package version number"},"publisher":{"type":"object","description":"Dependency package publisher","properties":{"_id":{"$ref":"#/components/schemas/ReadOnlyMongoId"},"firstName":{"type":"string","minLength":5,"maxLength":255,"description":"User first name"},"lastName":{"type":"string","minLength":5,"maxLength":255,"description":"User last name"}}},"dependency":{"$ref":"#/components/schemas/ReadOnlyMongoId"},"checksum":{"type":"string","description":"Dependency package checksum"},"rank":{"type":"integer","description":"Dependency package rank"},"envVersionNumber":{"type":"string","minLength":5,"maxLength":20,"description":"Dependency package env version number"},"createdAt":{"$ref":"#/components/schemas/ReadOnlyDate"},"updatedAt":{"$ref":"#/components/schemas/ReadOnlyDate"}}},"ReadOnlyMongoId":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Entity ID","readOnly":true},"ReadOnlyDate":{"type":"string","format":"date-time","readOnly":true,"description":"Date"},"UnauthorizedError":{"type":"object","properties":{"apiError":{"type":"array","items":{"type":"string"},"description":"Error message"}}},"ForbiddenError":{"type":"object","properties":{"apiError":{"type":"array","items":{"type":"string"},"description":"Error message"}}}},"responses":{"GetDependencyPackagesResponse":{"description":"OK","content":{"application/json":{"schema":{"required":["docs"],"allOf":[{"$ref":"#/components/schemas/Pagination"},{"type":"object"},{"properties":{"docs":{"type":"array","items":{"$ref":"#/components/schemas/DependencyPackage"}}}}]}}}},"UnauthorizedErrorResponse":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedError"}}}},"ForbiddenErrorResponse":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}}}},"paths":{"/organizations/{organizationId}/dependencies/{dependencyId}/packages":{"get":{"tags":["packages","dependency-management"],"summary":"Get organization dependency packages","description":"Get organization dependency packages by admin","operationId":"getOrgDepPackages","parameters":[{"$ref":"#/components/parameters/OrganizationIdPathParam"},{"$ref":"#/components/parameters/DependencyIdPathParam"},{"$ref":"#/components/parameters/VersionNumberQueryParam"},{"$ref":"#/components/parameters/EnvVersionNumberQueryParam"},{"$ref":"#/components/parameters/LimitQueryParam"},{"$ref":"#/components/parameters/PageQueryParam"},{"$ref":"#/components/parameters/SortQueryParam"}],"responses":{"200":{"$ref":"#/components/responses/GetDependencyPackagesResponse"},"401":{"$ref":"#/components/responses/UnauthorizedErrorResponse"},"403":{"$ref":"#/components/responses/ForbiddenErrorResponse"}}}}}}
```

## Create a organization dependency package

> Create a organization dependency package by admin

```json
{"openapi":"3.0.3","info":{"title":"AppMaker API - OAS 3.0","version":"1.0.0"},"tags":[{"name":"dependency-management","description":"Operations related to dependency management."},{"name":"packages","description":"Manage dependency packages and versions."}],"servers":[{"url":"https://abp-api.akinon.net/api/v1","description":"Production server"},{"url":"https://abptest-api.akinon.net/api/v1","description":"Test server"},{"url":"http://localhost:5001/api/v1","description":"Local server"}],"security":[{"bearerAuth":[]},{"accessToken":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"},"accessToken":{"type":"apiKey","in":"header","name":"x-access-token"}},"parameters":{"OrganizationIdPathParam":{"name":"organizationId","in":"path","required":true,"description":"Organization ID","schema":{"$ref":"#/components/schemas/MongoId"}},"DependencyIdPathParam":{"name":"dependencyId","in":"path","required":true,"description":"Dependency ID","schema":{"$ref":"#/components/schemas/MongoId"}}},"schemas":{"MongoId":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Entity ID"},"DependencyPackage":{"type":"object","required":["assetUrl","isPrivate","readme","_id","versionNumber","createdAt","updatedAt","publisher","dependency","checksum","rank","envVersionNumber"],"properties":{"assetUrl":{"type":"string","description":"Dependency package asset URL"},"isPrivate":{"type":"boolean","description":"Dependency package is private"},"readme":{"type":"string","description":"Dependency package readme"},"_id":{"$ref":"#/components/schemas/ReadOnlyMongoId"},"versionNumber":{"type":"string","minLength":5,"maxLength":20,"description":"Dependency package version number"},"publisher":{"type":"object","description":"Dependency package publisher","properties":{"_id":{"$ref":"#/components/schemas/ReadOnlyMongoId"},"firstName":{"type":"string","minLength":5,"maxLength":255,"description":"User first name"},"lastName":{"type":"string","minLength":5,"maxLength":255,"description":"User last name"}}},"dependency":{"$ref":"#/components/schemas/ReadOnlyMongoId"},"checksum":{"type":"string","description":"Dependency package checksum"},"rank":{"type":"integer","description":"Dependency package rank"},"envVersionNumber":{"type":"string","minLength":5,"maxLength":20,"description":"Dependency package env version number"},"createdAt":{"$ref":"#/components/schemas/ReadOnlyDate"},"updatedAt":{"$ref":"#/components/schemas/ReadOnlyDate"}}},"ReadOnlyMongoId":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Entity ID","readOnly":true},"ReadOnlyDate":{"type":"string","format":"date-time","readOnly":true,"description":"Date"},"UnauthorizedError":{"type":"object","properties":{"apiError":{"type":"array","items":{"type":"string"},"description":"Error message"}}}},"requestBodies":{"CreateDependencyPackageRequest":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["name","versionNumber","envVersion","url","checksum"],"properties":{"name":{"type":"string","description":"Dependency package name, formatted as <dependency-name>-<version>.tgz"},"versionNumber":{"type":"string","description":"Dependency package version number"},"envVersion":{"type":"string","description":"Dependency package env version"},"url":{"type":"string","description":"Dependency package url"},"checksum":{"type":"string","description":"Dependency package checksum"},"isPrivate":{"type":"boolean","description":"Dependency package is private"},"readme":{"type":"string","description":"Dependency package readme"}}}}}}},"responses":{"CreateDependencyPackageResponse":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DependencyPackage"}}}},"ValidationErrorResponse":{"description":"Bad Request","content":{"application/json":{"schema":{"type":"object","properties":{"validationError":{"type":"object","properties":{}}}}}}},"UnauthorizedErrorResponse":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedError"}}}}}},"paths":{"/organizations/{organizationId}/dependencies/{dependencyId}/packages":{"post":{"tags":["packages","dependency-management"],"summary":"Create a organization dependency package","description":"Create a organization dependency package by admin","operationId":"createOrgDepPackage","parameters":[{"$ref":"#/components/parameters/OrganizationIdPathParam"},{"$ref":"#/components/parameters/DependencyIdPathParam"}],"requestBody":{"$ref":"#/components/requestBodies/CreateDependencyPackageRequest"},"responses":{"201":{"$ref":"#/components/responses/CreateDependencyPackageResponse"},"400":{"$ref":"#/components/responses/ValidationErrorResponse"},"401":{"$ref":"#/components/responses/UnauthorizedErrorResponse"}}}}}}
```

## Delete a organization dependency package

> Delete a organization dependency package by organization user

```json
{"openapi":"3.0.3","info":{"title":"AppMaker API - OAS 3.0","version":"1.0.0"},"tags":[{"name":"dependency-management","description":"Operations related to dependency management."},{"name":"packages","description":"Manage dependency packages and versions."}],"servers":[{"url":"https://abp-api.akinon.net/api/v1","description":"Production server"},{"url":"https://abptest-api.akinon.net/api/v1","description":"Test server"},{"url":"http://localhost:5001/api/v1","description":"Local server"}],"security":[{"bearerAuth":[]},{"accessToken":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"},"accessToken":{"type":"apiKey","in":"header","name":"x-access-token"}},"parameters":{"OrganizationIdPathParam":{"name":"organizationId","in":"path","required":true,"description":"Organization ID","schema":{"$ref":"#/components/schemas/MongoId"}},"DependencyIdPathParam":{"name":"dependencyId","in":"path","required":true,"description":"Dependency ID","schema":{"$ref":"#/components/schemas/MongoId"}},"PackageIdPathParam":{"name":"packageId","in":"path","required":true,"description":"Dependency package ID","schema":{"$ref":"#/components/schemas/MongoId"}}},"schemas":{"MongoId":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Entity ID"},"UnauthorizedError":{"type":"object","properties":{"apiError":{"type":"array","items":{"type":"string"},"description":"Error message"}}},"ForbiddenError":{"type":"object","properties":{"apiError":{"type":"array","items":{"type":"string"},"description":"Error message"}}}},"responses":{"NoContentResponse":{"description":"No Content"},"UnauthorizedErrorResponse":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedError"}}}},"ForbiddenErrorResponse":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"NotFoundRepsonse":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","properties":{"apiError":{"type":"array","items":{}}}}}}}}},"paths":{"/organizations/{organizationId}/dependencies/{dependencyId}/packages/{packageId}":{"delete":{"tags":["packages","dependency-management"],"summary":"Delete a organization dependency package","description":"Delete a organization dependency package by organization user","operationId":"deleteOrgDepPackage","parameters":[{"$ref":"#/components/parameters/OrganizationIdPathParam"},{"$ref":"#/components/parameters/DependencyIdPathParam"},{"$ref":"#/components/parameters/PackageIdPathParam"}],"responses":{"204":{"$ref":"#/components/responses/NoContentResponse"},"401":{"$ref":"#/components/responses/UnauthorizedErrorResponse"},"403":{"$ref":"#/components/responses/ForbiddenErrorResponse"},"404":{"$ref":"#/components/responses/NotFoundRepsonse"}}}}}}
```

## Get a organization dependency package signed package url

> Get a organization dependency package signed package url by admin

```json
{"openapi":"3.0.3","info":{"title":"AppMaker API - OAS 3.0","version":"1.0.0"},"tags":[{"name":"dependency-management","description":"Operations related to dependency management."},{"name":"packages","description":"Manage dependency packages and versions."}],"servers":[{"url":"https://abp-api.akinon.net/api/v1","description":"Production server"},{"url":"https://abptest-api.akinon.net/api/v1","description":"Test server"},{"url":"http://localhost:5001/api/v1","description":"Local server"}],"security":[{"bearerAuth":[]},{"accessToken":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"},"accessToken":{"type":"apiKey","in":"header","name":"x-access-token"}},"parameters":{"OrganizationIdPathParam":{"name":"organizationId","in":"path","required":true,"description":"Organization ID","schema":{"$ref":"#/components/schemas/MongoId"}},"DependencyIdPathParam":{"name":"dependencyId","in":"path","required":true,"description":"Dependency ID","schema":{"$ref":"#/components/schemas/MongoId"}},"PackageIdPathParam":{"name":"packageId","in":"path","required":true,"description":"Dependency package ID","schema":{"$ref":"#/components/schemas/MongoId"}},"RequiredUrlQueryParam":{"name":"url","in":"query","required":true,"description":"Url","schema":{"type":"string"}},"FileNameQueryParam":{"name":"fileName","in":"query","required":false,"description":"File name","schema":{"type":"string"}}},"schemas":{"MongoId":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Entity ID"},"UnauthorizedError":{"type":"object","properties":{"apiError":{"type":"array","items":{"type":"string"},"description":"Error message"}}}},"responses":{"GetSignedUrlResponse":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["url"],"properties":{"url":{"type":"string","description":"Signed URL"}}}}}},"UnauthorizedErrorResponse":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedError"}}}}}},"paths":{"/organizations/{organizationId}/dependencies/{dependencyId}/packages/{packageId}/download":{"get":{"tags":["packages","dependency-management"],"summary":"Get a organization dependency package signed package url","description":"Get a organization dependency package signed package url by admin","operationId":"getOrgSignedPackageUrl","parameters":[{"$ref":"#/components/parameters/OrganizationIdPathParam"},{"$ref":"#/components/parameters/DependencyIdPathParam"},{"$ref":"#/components/parameters/PackageIdPathParam"},{"$ref":"#/components/parameters/RequiredUrlQueryParam"},{"$ref":"#/components/parameters/FileNameQueryParam"}],"responses":{"201":{"$ref":"#/components/responses/GetSignedUrlResponse"},"401":{"$ref":"#/components/responses/UnauthorizedErrorResponse"}}}}}}
```

## Get dependency packages

> Get dependency packages by organization user

```json
{"openapi":"3.0.3","info":{"title":"AppMaker API - OAS 3.0","version":"1.0.0"},"tags":[{"name":"dependency-management","description":"Operations related to dependency management."},{"name":"packages","description":"Manage dependency packages and versions."}],"servers":[{"url":"https://abp-api.akinon.net/api/v1","description":"Production server"},{"url":"https://abptest-api.akinon.net/api/v1","description":"Test server"},{"url":"http://localhost:5001/api/v1","description":"Local server"}],"security":[{"bearerAuth":[]},{"accessToken":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"},"accessToken":{"type":"apiKey","in":"header","name":"x-access-token"}},"parameters":{"DependencyIdPathParam":{"name":"dependencyId","in":"path","required":true,"description":"Dependency ID","schema":{"$ref":"#/components/schemas/MongoId"}},"VersionNumberQueryParam":{"name":"versionNumber","in":"query","required":false,"description":"Version number","schema":{"type":"string"}},"EnvVersionNumberQueryParam":{"name":"envVersionNumber","in":"query","required":false,"description":"Env version number","schema":{"type":"string"}}},"schemas":{"MongoId":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Entity ID"},"Pagination":{"type":"object","required":["totalDocs","limit","page","totalPages","pagingCounter","hasPrevPage","hasNextPage","prevPage","nextPage","docs"],"properties":{"totalDocs":{"type":"integer","description":"The total number of users"},"limit":{"type":"integer","description":"The limit of users per page","default":10},"page":{"type":"integer","description":"Current page","default":1},"totalPages":{"type":"integer","description":"The total number of pages"},"pagingCounter":{"type":"integer","description":"Current page number"},"hasPrevPage":{"type":"boolean","description":"Has previous page"},"hasNextPage":{"type":"boolean","description":"Has next page"},"prevPage":{"type":"integer","description":"Previous page number"},"nextPage":{"type":"integer","description":"Next page number"},"docs":{"description":"Items"}}},"DependencyPackage":{"type":"object","required":["assetUrl","isPrivate","readme","_id","versionNumber","createdAt","updatedAt","publisher","dependency","checksum","rank","envVersionNumber"],"properties":{"assetUrl":{"type":"string","description":"Dependency package asset URL"},"isPrivate":{"type":"boolean","description":"Dependency package is private"},"readme":{"type":"string","description":"Dependency package readme"},"_id":{"$ref":"#/components/schemas/ReadOnlyMongoId"},"versionNumber":{"type":"string","minLength":5,"maxLength":20,"description":"Dependency package version number"},"publisher":{"type":"object","description":"Dependency package publisher","properties":{"_id":{"$ref":"#/components/schemas/ReadOnlyMongoId"},"firstName":{"type":"string","minLength":5,"maxLength":255,"description":"User first name"},"lastName":{"type":"string","minLength":5,"maxLength":255,"description":"User last name"}}},"dependency":{"$ref":"#/components/schemas/ReadOnlyMongoId"},"checksum":{"type":"string","description":"Dependency package checksum"},"rank":{"type":"integer","description":"Dependency package rank"},"envVersionNumber":{"type":"string","minLength":5,"maxLength":20,"description":"Dependency package env version number"},"createdAt":{"$ref":"#/components/schemas/ReadOnlyDate"},"updatedAt":{"$ref":"#/components/schemas/ReadOnlyDate"}}},"ReadOnlyMongoId":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Entity ID","readOnly":true},"ReadOnlyDate":{"type":"string","format":"date-time","readOnly":true,"description":"Date"},"UnauthorizedError":{"type":"object","properties":{"apiError":{"type":"array","items":{"type":"string"},"description":"Error message"}}},"ForbiddenError":{"type":"object","properties":{"apiError":{"type":"array","items":{"type":"string"},"description":"Error message"}}}},"responses":{"GetDependencyPackagesResponse":{"description":"OK","content":{"application/json":{"schema":{"required":["docs"],"allOf":[{"$ref":"#/components/schemas/Pagination"},{"type":"object"},{"properties":{"docs":{"type":"array","items":{"$ref":"#/components/schemas/DependencyPackage"}}}}]}}}},"UnauthorizedErrorResponse":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedError"}}}},"ForbiddenErrorResponse":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"NotFoundRepsonse":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","properties":{"apiError":{"type":"array","items":{}}}}}}}}},"paths":{"/public/dependencies/{dependencyId}/packages":{"get":{"tags":["packages","dependency-management"],"summary":"Get dependency packages","description":"Get dependency packages by organization user","operationId":"getDependencyPackages","parameters":[{"$ref":"#/components/parameters/DependencyIdPathParam"},{"$ref":"#/components/parameters/VersionNumberQueryParam"},{"$ref":"#/components/parameters/EnvVersionNumberQueryParam"}],"responses":{"200":{"$ref":"#/components/responses/GetDependencyPackagesResponse"},"401":{"$ref":"#/components/responses/UnauthorizedErrorResponse"},"403":{"$ref":"#/components/responses/ForbiddenErrorResponse"},"404":{"$ref":"#/components/responses/NotFoundRepsonse"}}}}}}
```
