@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Amazon Elastic Container Registry Public
@version 2020-10-30
@auth AWS SigV4
@endpoints 23
@hint download_for_search
@toc root(23)

@endpoint POST /
@required {repositoryName: str, layerDigests: [str]}
@optional {registryId: str}
@returns(200) {layers: [Layer]?, failures: [LayerFailure]?}

@endpoint POST /
@required {repositoryName: str, imageIds: [ImageIdentifier]}
@optional {registryId: str}
@returns(200) {imageIds: [ImageIdentifier]?, failures: [ImageFailure]?}

@endpoint POST /
@required {repositoryName: str, uploadId: str, layerDigests: [str]}
@optional {registryId: str}
@returns(200) {registryId: str?, repositoryName: str?, uploadId: str?, layerDigest: str?}

@endpoint POST /
@required {repositoryName: str}
@optional {catalogData: RepositoryCatalogDataInput, tags: [Tag]}
@returns(200) {repository: Repository?{repositoryArn: str?, registryId: str?, repositoryName: str?, repositoryUri: str?, createdAt: str(timestamp)?}, catalogData: RepositoryCatalogData?{description: str?, architectures: [str]?, operatingSystems: [str]?, logoUrl: str?, aboutText: str?, usageText: str?, marketplaceCertified: bool?}}

@endpoint POST /
@required {repositoryName: str}
@optional {registryId: str, force: bool}
@returns(200) {repository: Repository?{repositoryArn: str?, registryId: str?, repositoryName: str?, repositoryUri: str?, createdAt: str(timestamp)?}}

@endpoint POST /
@required {repositoryName: str}
@optional {registryId: str}
@returns(200) {registryId: str?, repositoryName: str?, policyText: str?}

@endpoint POST /
@required {repositoryName: str}
@optional {registryId: str, nextToken: str, maxResults: int}
@returns(200) {imageTagDetails: [ImageTagDetail]?, nextToken: str?}

@endpoint POST /
@required {repositoryName: str}
@optional {registryId: str, imageIds: [ImageIdentifier], nextToken: str, maxResults: int}
@returns(200) {imageDetails: [ImageDetail]?, nextToken: str?}

@endpoint POST /
@optional {nextToken: str, maxResults: int}
@returns(200) {registries: [Registry], nextToken: str?}

@endpoint POST /
@optional {registryId: str, repositoryNames: [str], nextToken: str, maxResults: int}
@returns(200) {repositories: [Repository]?, nextToken: str?}

@endpoint POST /
@returns(200) {authorizationData: AuthorizationData?{authorizationToken: str?, expiresAt: str(timestamp)?}}

@endpoint POST /
@returns(200) {registryCatalogData: RegistryCatalogData{displayName: str?}}

@endpoint POST /
@required {repositoryName: str}
@optional {registryId: str}
@returns(200) {catalogData: RepositoryCatalogData?{description: str?, architectures: [str]?, operatingSystems: [str]?, logoUrl: str?, aboutText: str?, usageText: str?, marketplaceCertified: bool?}}

@endpoint POST /
@required {repositoryName: str}
@optional {registryId: str}
@returns(200) {registryId: str?, repositoryName: str?, policyText: str?}

@endpoint POST /
@required {repositoryName: str}
@optional {registryId: str}
@returns(200) {uploadId: str?, partSize: int(i64)?}

@endpoint POST /
@required {resourceArn: str}
@returns(200) {tags: [Tag]?}

@endpoint POST /
@required {repositoryName: str, imageManifest: str}
@optional {registryId: str, imageManifestMediaType: str, imageTag: str, imageDigest: str}
@returns(200) {image: Image?{registryId: str?, repositoryName: str?, imageId: ImageIdentifier?{imageDigest: str?, imageTag: str?}, imageManifest: str?, imageManifestMediaType: str?}}

@endpoint POST /
@optional {displayName: str}
@returns(200) {registryCatalogData: RegistryCatalogData{displayName: str?}}

@endpoint POST /
@required {repositoryName: str, catalogData: RepositoryCatalogDataInput}
@optional {registryId: str}
@returns(200) {catalogData: RepositoryCatalogData?{description: str?, architectures: [str]?, operatingSystems: [str]?, logoUrl: str?, aboutText: str?, usageText: str?, marketplaceCertified: bool?}}

@endpoint POST /
@required {repositoryName: str, policyText: str}
@optional {registryId: str, force: bool}
@returns(200) {registryId: str?, repositoryName: str?, policyText: str?}

@endpoint POST /
@required {resourceArn: str, tags: [Tag]}

@endpoint POST /
@required {resourceArn: str, tagKeys: [str]}

@endpoint POST /
@required {repositoryName: str, uploadId: str, partFirstByte: int(i64), partLastByte: int(i64), layerPartBlob: bytes}
@optional {registryId: str}
@returns(200) {registryId: str?, repositoryName: str?, uploadId: str?, lastByteReceived: int(i64)?}

@end
