Amazon CodeArtifact Codeartifact Operations API

The Codeartifact Operations API from Amazon CodeArtifact — 6 operation(s) for codeartifact operations.

Business capability
Package Registries & Distribution AE-250.10

Operations 6

POST /v1/package-groups List Package Groups #
POST /v1/package-groups/sub-groups List Sub Package Groups #
GET /v1/get-associated-package-group Get Associated Package Group #
GET /v1/package-group-allowed-repositories List Allowed Repositories For Group #
GET /v1/list-associated-packages List Associated Packages #
PUT /v1/package-group-origin-configuration Update Package Group Origin Configuration #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/amazon-codeartifact:amazon-codeartifact-operations-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

amazon-codeartifact-operations-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: CodeArtifact Operations API
  version: '2018-09-22'
  description: Generated from AWS's published Smithy model for CodeArtifact. 6 operation(s).
  contact:
    name: Amazon Web Services
    url: https://aws.amazon.com/contact-us/
  license:
    name: Apache 2.0
    identifier: Apache-2.0
    url: https://github.com/aws/api-models-aws/blob/main/LICENSE
servers:
- url: https://codeartifact.{region}.amazonaws.com
  variables:
    region:
      default: us-east-1
security:
- sigv4: []
tags:
- name: Operations
paths:
  /v1/package-groups:
    post:
      operationId: ListPackageGroups
      summary: List Package Groups
      description: Returns a list of package groups in the requested domain.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListPackageGroupsResult'
        '403':
          description: AccessDeniedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
        '500':
          description: InternalServerException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerException'
        '404':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '429':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '400':
          description: ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ListPackageGroupsRequest'
      tags:
      - Operations
  /v1/package-groups/sub-groups:
    post:
      operationId: ListSubPackageGroups
      summary: List Sub Package Groups
      description: Returns a list of direct children of the specified package group. For information package group hierarchy, see Package group definition syntax and matching behavior in the CodeArtifact User Guide.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListSubPackageGroupsResult'
        '403':
          description: AccessDeniedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
        '500':
          description: InternalServerException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerException'
        '404':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '429':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '400':
          description: ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ListSubPackageGroupsRequest'
      tags:
      - Operations
  /v1/get-associated-package-group:
    get:
      operationId: GetAssociatedPackageGroup
      summary: Get Associated Package Group
      description: Returns the most closely associated package group to the specified package. This API does not require that the package exist in any repository in the domain. As such, GetAssociatedPackageGroup can be used to see which package group's origin configuration applies to a package before that package is in a repository. This can be helpful to check if public packages are blocked without ingesting them. For information package group association and matching, see Package group definition syntax and matching behavior in the CodeArtifact User Guide.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAssociatedPackageGroupResult'
        '403':
          description: AccessDeniedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
        '500':
          description: InternalServerException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerException'
        '404':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '400':
          description: ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetAssociatedPackageGroupRequest'
      tags:
      - Operations
  /v1/package-group-allowed-repositories:
    get:
      operationId: ListAllowedRepositoriesForGroup
      summary: List Allowed Repositories For Group
      description: Lists the repositories in the added repositories list of the specified restriction type for a package group. For more information about restriction types and added repository lists, see Package group origin controls in the CodeArtifact User Guide.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListAllowedRepositoriesForGroupResult'
        '403':
          description: AccessDeniedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
        '500':
          description: InternalServerException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerException'
        '404':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '402':
          description: ServiceQuotaExceededException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceQuotaExceededException'
        '429':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '400':
          description: ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ListAllowedRepositoriesForGroupRequest'
      tags:
      - Operations
  /v1/list-associated-packages:
    get:
      operationId: ListAssociatedPackages
      summary: List Associated Packages
      description: Returns a list of packages associated with the requested package group. For information package group association and matching, see Package group definition syntax and matching behavior in the CodeArtifact User Guide.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListAssociatedPackagesResult'
        '403':
          description: AccessDeniedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
        '500':
          description: InternalServerException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerException'
        '404':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '400':
          description: ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ListAssociatedPackagesRequest'
      tags:
      - Operations
  /v1/package-group-origin-configuration:
    put:
      operationId: UpdatePackageGroupOriginConfiguration
      summary: Update Package Group Origin Configuration
      description: Updates the package origin configuration for a package group. The package origin configuration determines how new versions of a package can be added to a repository. You can allow or block direct publishing of new package versions, or ingestion and retaining of new package versions from an external connection or upstream source. For more information about package group origin controls and configuration, see Package group origin controls in the CodeArtifact User Guide.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdatePackageGroupOriginConfigurationResult'
        '403':
          description: AccessDeniedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
        '500':
          description: InternalServerException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerException'
        '404':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '402':
          description: ServiceQuotaExceededException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceQuotaExceededException'
        '429':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '400':
          description: ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdatePackageGroupOriginConfigurationRequest'
      tags:
      - Operations
components:
  schemas:
    PackageGroupReference:
      type: object
      properties:
        arn:
          type: string
          description: The ARN of the package group.
        pattern:
          type: string
          description: The pattern of the package group. The pattern determines which packages are associated with the package group, and is also the identifier of the package group.
    AssociatedPackage:
      type: object
      properties:
        format:
          type: string
          enum:
          - npm
          - pypi
          - maven
          - nuget
          - generic
          - ruby
          - swift
          - cargo
          description: A format that specifies the type of the associated package.
        namespace:
          type: string
          description: 'The namespace of the associated package. The package component that specifies its namespace depends on its type. For example: The namespace of a Maven package version is its groupId. The namespace of an npm or Swift package version is its scope. The namespace of a generic package is its namespace. Python, NuGet, Ruby, and Cargo package versions do not contain a corresponding component, package versions of those formats do not have a namespace.'
        package:
          type: string
          description: The name of the associated package.
        associationType:
          type: string
          enum:
          - STRONG
          - WEAK
          description: Describes the strength of the association between the package and package group. A strong match can be thought of as an exact match, and a weak match can be thought of as a variation match, for example, the package name matches a variation of the package group pattern. For more information about package group pattern matching, including strong and weak matches, see Package group definition syntax and matching behavior in the CodeArtifact User Guide.
    GetAssociatedPackageGroupResult:
      type: object
      properties:
        packageGroup:
          $ref: '#/components/schemas/PackageGroupDescription'
        associationType:
          type: string
          enum:
          - STRONG
          - WEAK
          description: Describes the strength of the association between the package and package group. A strong match is also known as an exact match, and a weak match is known as a relative match.
    PackageGroupSummary:
      type: object
      properties:
        arn:
          type: string
          description: The ARN of the package group.
        pattern:
          type: string
          description: The pattern of the package group. The pattern determines which packages are associated with the package group.
        domainName:
          type: string
          description: The domain that contains the package group.
        domainOwner:
          type: string
          description: The 12-digit account number of the Amazon Web Services account that owns the domain. It does not include dashes or spaces.
        createdTime:
          type: string
          format: date-time
          description: A timestamp that represents the date and time the repository was created.
        contactInfo:
          type: string
          description: The contact information of the package group.
        description:
          type: string
          description: The description of the package group.
        originConfiguration:
          $ref: '#/components/schemas/PackageGroupOriginConfiguration'
        parent:
          $ref: '#/components/schemas/PackageGroupReference'
    ListPackageGroupsRequest:
      type: object
      properties:
        domain:
          type: string
          description: The domain for which you want to list package groups.
        domainOwner:
          type: string
          description: The 12-digit account number of the Amazon Web Services account that owns the domain. It does not include dashes or spaces.
        maxResults:
          type: integer
          description: The maximum number of results to return per page.
        nextToken:
          type: string
          description: The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.
        prefix:
          type: string
          description: A prefix for which to search package groups. When included, ListPackageGroups will return only package groups with patterns that match the prefix.
      required:
      - domain
    ResourceNotFoundException:
      type: object
      properties:
        message:
          type: string
        resourceId:
          type: string
          description: The ID of the resource.
        resourceType:
          type: string
          enum:
          - domain
          - repository
          - package
          - package-version
          - asset
          description: The type of Amazon Web Services resource.
      required:
      - message
    PackageGroupOriginConfiguration:
      type: object
      properties:
        restrictions:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/PackageGroupOriginRestriction'
          description: The origin configuration settings that determine how package versions can enter repositories.
    GetAssociatedPackageGroupRequest:
      type: object
      properties:
        domain:
          type: string
          description: The name of the domain that contains the package from which to get the associated package group.
        domainOwner:
          type: string
          description: The 12-digit account number of the Amazon Web Services account that owns the domain. It does not include dashes or spaces.
        format:
          type: string
          enum:
          - npm
          - pypi
          - maven
          - nuget
          - generic
          - ruby
          - swift
          - cargo
          description: The format of the package from which to get the associated package group.
        namespace:
          type: string
          description: 'The namespace of the package from which to get the associated package group. The package component that specifies its namespace depends on its type. For example: The namespace is required when getting associated package groups from packages of the following formats: Maven Swift generic The namespace of a Maven package version is its groupId. The namespace of an npm or Swift package version is its scope. The namespace of a generic package is its namespace. Python, NuGet, Ruby, and Cargo package versions do not contain a corresponding component, package versions of those formats do not have a na'
        package:
          type: string
          description: The package from which to get the associated package group.
      required:
      - domain
      - format
      - package
    PackageGroupDescription:
      type: object
      properties:
        arn:
          type: string
          description: The ARN of the package group.
        pattern:
          type: string
          description: The pattern of the package group. The pattern determines which packages are associated with the package group.
        domainName:
          type: string
          description: The name of the domain that contains the package group.
        domainOwner:
          type: string
          description: The 12-digit account number of the Amazon Web Services account that owns the domain. It does not include dashes or spaces.
        createdTime:
          type: string
          format: date-time
          description: A timestamp that represents the date and time the package group was created.
        contactInfo:
          type: string
          description: The contact information of the package group.
        description:
          type: string
          description: The description of the package group.
        originConfiguration:
          $ref: '#/components/schemas/PackageGroupOriginConfiguration'
        parent:
          $ref: '#/components/schemas/PackageGroupReference'
    ListPackageGroupsResult:
      type: object
      properties:
        packageGroups:
          type: array
          items:
            $ref: '#/components/schemas/PackageGroupSummary'
          description: The list of package groups in the requested domain.
        nextToken:
          type: string
          description: The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.
    UpdatePackageGroupOriginConfigurationResult:
      type: object
      properties:
        packageGroup:
          $ref: '#/components/schemas/PackageGroupDescription'
        allowedRepositoryUpdates:
          type: object
          additionalProperties:
            type: object
            additionalProperties:
              type: array
              items:
                type: string
          description: Information about the updated allowed repositories after processing the request.
    ThrottlingException:
      type: object
      properties:
        message:
          type: string
        retryAfterSeconds:
          type: integer
          description: The time period, in seconds, to wait before retrying the request.
      required:
      - message
    PackageGroupAllowedRepository:
      type: object
      properties:
        repositoryName:
          type: string
          description: The name of the allowed repository.
        originRestrictionType:
          type: string
          enum:
          - EXTERNAL_UPSTREAM
          - INTERNAL_UPSTREAM
          - PUBLISH
          description: The origin configuration restriction type of the allowed repository.
    ListAssociatedPackagesRequest:
      type: object
      properties:
        domain:
          type: string
          description: The name of the domain that contains the package group from which to list associated packages.
        domainOwner:
          type: string
          description: The 12-digit account number of the Amazon Web Services account that owns the domain. It does not include dashes or spaces.
        packageGroup:
          type: string
          description: The pattern of the package group from which to list associated packages.
        maxResults:
          type: integer
          description: The maximum number of results to return per page.
        nextToken:
          type: string
          description: The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.
        preview:
          type: boolean
          description: When this flag is included, ListAssociatedPackages will return a list of packages that would be associated with a package group, even if it does not exist.
      required:
      - domain
      - packageGroup
    ValidationException:
      type: object
      properties:
        message:
          type: string
        reason:
          type: string
          enum:
          - CANNOT_PARSE
          - ENCRYPTION_KEY_ERROR
          - FIELD_VALIDATION_FAILED
          - UNKNOWN_OPERATION
          - OTHER
      required:
      - message
    ListAssociatedPackagesResult:
      type: object
      properties:
        packages:
          type: array
          items:
            $ref: '#/components/schemas/AssociatedPackage'
          description: The list of packages associated with the requested package group.
        nextToken:
          type: string
          description: The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.
    ListSubPackageGroupsResult:
      type: object
      properties:
        packageGroups:
          type: array
          items:
            $ref: '#/components/schemas/PackageGroupSummary'
          description: A list of sub package groups for the requested package group.
        nextToken:
          type: string
          description: If there are additional results, this is the token for the next set of results.
    ServiceQuotaExceededException:
      type: object
      properties:
        message:
          type: string
        resourceId:
          type: string
          description: The ID of the resource.
        resourceType:
          type: string
          enum:
          - domain
          - repository
          - package
          - package-version
          - asset
          description: The type of Amazon Web Services resource.
      required:
      - message
    ListAllowedRepositoriesForGroupRequest:
      type: object
      properties:
        domain:
          type: string
          description: The name of the domain that contains the package group from which to list allowed repositories.
        domainOwner:
          type: string
          description: The 12-digit account number of the Amazon Web Services account that owns the domain. It does not include dashes or spaces.
        packageGroup:
          type: string
          description: The pattern of the package group from which to list allowed repositories.
        originRestrictionType:
          type: string
          enum:
          - EXTERNAL_UPSTREAM
          - INTERNAL_UPSTREAM
          - PUBLISH
          description: The origin configuration restriction type of which to list allowed repositories.
        maxResults:
          type: integer
          description: The maximum number of results to return per page.
        nextToken:
          type: string
          description: The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.
      required:
      - domain
      - packageGroup
      - originRestrictionType
    AccessDeniedException:
      type: object
      properties:
        message:
          type: string
      required:
      - message
    InternalServerException:
      type: object
      properties:
        message:
          type: string
      required:
      - message
    ListAllowedRepositoriesForGroupResult:
      type: object
      properties:
        allowedRepositories:
          type: array
          items:
            type: string
          description: The list of allowed repositories for the package group and origin configuration restriction type.
        nextToken:
          type: string
          description: The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.
    UpdatePackageGroupOriginConfigurationRequest:
      type: object
      properties:
        domain:
          type: string
          description: The name of the domain which contains the package group for which to update the origin configuration.
        domainOwner:
          type: string
          description: The 12-digit account number of the Amazon Web Services account that owns the domain. It does not include dashes or spaces.
        packageGroup:
          type: string
          description: The pattern of the package group for which to update the origin configuration.
        restrictions:
          type: object
          additionalProperties:
            type: string
            enum:
            - ALLOW
            - ALLOW_SPECIFIC_REPOSITORIES
            - BLOCK
            - INHERIT
          description: The origin configuration settings that determine how package versions can enter repositories.
        addAllowedRepositories:
          type: array
          items:
            $ref: '#/components/schemas/PackageGroupAllowedRepository'
          description: The repository name and restrictions to add to the allowed repository list of the specified package group.
        removeAllowedRepositories:
          type: array
          items:
            $ref: '#/components/schemas/PackageGroupAllowedRepository'
          description: The repository name and restrictions to remove from the allowed repository list of the specified package group.
      required:
      - domain
      - packageGroup
    PackageGroupOriginRestriction:
      type: object
      properties:
        mode:
          type: string
          enum:
          - ALLOW
          - ALLOW_SPECIFIC_REPOSITORIES
          - BLOCK
          - INHERIT
          description: The package group origin restriction setting. If the value of mode is ALLOW, ALLOW_SPECIFIC_REPOSITORIES, or BLOCK, then the value of effectiveMode is the same. Otherwise, when the value is INHERIT, then the value of effectiveMode is the value of mode of the first parent group which does not have a value of INHERIT.
        effectiveMode:
          type: string
          enum:
          - ALLOW
          - ALLOW_SPECIFIC_REPOSITORIES
          - BLOCK
          - INHERIT
          description: The effective package group origin restriction setting. If the value of mode is ALLOW, ALLOW_SPECIFIC_REPOSITORIES, or BLOCK, then the value of effectiveMode is the same. Otherwise, when the value of mode is INHERIT, then the value of effectiveMode is the value of mode of the first parent group which does not have a value of INHERIT.
        inheritedFrom:
          $ref: '#/components/schemas/PackageGroupReference'
        repositoriesCount:
          type: integer
          description: The number of repositories in the allowed repository list.
    ListSubPackageGroupsRequest:
      type: object
      properties:
        domain:
          type: string
          description: The name of the domain which contains the package group from which to list sub package groups.
        domainOwner:
          type: string
          description: The 12-digit account number of the Amazon Web Services account that owns the domain. It does not include dashes or spaces.
        packageGroup:
          type: string
          description: The pattern of the package group from which to list sub package groups.
        maxResults:
          type: integer
          description: The maximum number of results to return per page.
        nextToken:
          type: string
          description: The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.
      required:
      - domain
      - packageGroup
  securitySchemes:
    sigv4:
      type: apiKey
      in: header
      name: Authorization
      description: AWS Signature Version 4. The Authorization header carries an AWS4-HMAC-SHA256 signature over the canonical request, with X-Amz-Date (and X-Amz-Security-Token for temporary credentials). Not a bearer token.
      x-aws-sigv4:
        signingName: codeartifact
x-provenance:
  method: harvested
  publisher: Amazon Web Services
  source: https://raw.githubusercontent.com/aws/api-models-aws/582e55931c45b944739742a2c1620b6026dd2d13/models/codeartifact/service/2018-09-22/codeartifact-2018-09-22.json
  note: converted by smithy-to-openapi.py from AWS's Smithy model (roadmap#1001)