Amazon Service Catalog Service Catalog Portfolio Share API

The Service Catalog Portfolio Share API from Amazon Service Catalog — 6 operation(s) for service catalog portfolio share.

Operations 6

POST /#AcceptPortfolioShare Accept Portfolio Share #
POST /#CreatePortfolioShare Create Portfolio Share #
POST /#DeletePortfolioShare Delete Portfolio Share #
POST /#DescribePortfolioShares Describe Portfolio Shares #
POST /#RejectPortfolioShare Reject Portfolio Share #
POST /#UpdatePortfolioShare Update Portfolio Share #

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-service-catalog:amazon-service-catalog-portfolio-share-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-service-catalog-portfolio-share-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: AWS Service Catalog Portfolio Share API
  version: '2015-12-10'
  description: Generated from AWS's published Smithy model for AWS Service Catalog. 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://servicecatalog.{region}.amazonaws.com
  variables:
    region:
      default: us-east-1
security:
- sigv4: []
paths:
  /#AcceptPortfolioShare:
    post:
      operationId: AcceptPortfolioShare
      summary: Accept Portfolio Share
      description: Accepts an offer to share the specified portfolio.
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/AcceptPortfolioShareOutput'
        '400':
          description: InvalidParametersException; LimitExceededException; ResourceNotFoundException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/InvalidParametersException'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - AWS242ServiceCatalogService.AcceptPortfolioShare
      requestBody:
        required: true
        content:
          application/x-amz-json-1.1:
            schema:
              $ref: '#/components/schemas/AcceptPortfolioShareInput'
      tags:
      - Portfolio Share
  /#CreatePortfolioShare:
    post:
      operationId: CreatePortfolioShare
      summary: Create Portfolio Share
      description: Shares the specified portfolio with the specified account or organization node. Shares to an organization
        node can only be created by the management account of an organization or by a delegated administrator. You can share
        portfolios to an organization, an organizational unit, or a specific account. Note that if a delegated admin is de-registered,
        they can no longer create portfolio shares. AWSOrganizationsAccess must be enabled in order to create a portfolio
        share to an organization node. You can't share a shared resource, including portfolios that contain a shared product.
        If the portfolio share with the specified account or organization node already exists, this action will have no effect
        and will not return an error. To update an existing share, you must use the UpdatePortfolioShare API instead. When
        you associate a principal with portfolio, a potential privilege escalation path may occur when that portfolio is then
        shared with other accounts. For a user in a recipient account who is not an Service Catalog Admin, but still has the
        ability to create Principals (Users/Groups/Roles), that user could create a role that matches a principal name association
        for the portfolio. Althoug
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/CreatePortfolioShareOutput'
        '400':
          description: InvalidParametersException; InvalidStateException; LimitExceededException; OperationNotSupportedException;
            ResourceNotFoundException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/InvalidParametersException'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - AWS242ServiceCatalogService.CreatePortfolioShare
      requestBody:
        required: true
        content:
          application/x-amz-json-1.1:
            schema:
              $ref: '#/components/schemas/CreatePortfolioShareInput'
      tags:
      - Portfolio Share
  /#DeletePortfolioShare:
    post:
      operationId: DeletePortfolioShare
      summary: Delete Portfolio Share
      description: Stops sharing the specified portfolio with the specified account or organization node. Shares to an organization
        node can only be deleted by the management account of an organization or by a delegated administrator. Note that if
        a delegated admin is de-registered, portfolio shares created from that account are removed.
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/DeletePortfolioShareOutput'
        '400':
          description: InvalidParametersException; InvalidStateException; OperationNotSupportedException; ResourceNotFoundException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/InvalidParametersException'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - AWS242ServiceCatalogService.DeletePortfolioShare
      requestBody:
        required: true
        content:
          application/x-amz-json-1.1:
            schema:
              $ref: '#/components/schemas/DeletePortfolioShareInput'
      tags:
      - Portfolio Share
  /#DescribePortfolioShares:
    post:
      operationId: DescribePortfolioShares
      summary: Describe Portfolio Shares
      description: Returns a summary of each of the portfolio shares that were created for the specified portfolio. You can
        use this API to determine which accounts or organizational nodes this portfolio have been shared, whether the recipient
        entity has imported the share, and whether TagOptions are included with the share. The PortfolioId and Type parameters
        are both required.
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/DescribePortfolioSharesOutput'
        '400':
          description: InvalidParametersException; ResourceNotFoundException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/InvalidParametersException'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - AWS242ServiceCatalogService.DescribePortfolioShares
      requestBody:
        required: true
        content:
          application/x-amz-json-1.1:
            schema:
              $ref: '#/components/schemas/DescribePortfolioSharesInput'
      tags:
      - Portfolio Share
  /#RejectPortfolioShare:
    post:
      operationId: RejectPortfolioShare
      summary: Reject Portfolio Share
      description: Rejects an offer to share the specified portfolio.
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/RejectPortfolioShareOutput'
        '400':
          description: ResourceNotFoundException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - AWS242ServiceCatalogService.RejectPortfolioShare
      requestBody:
        required: true
        content:
          application/x-amz-json-1.1:
            schema:
              $ref: '#/components/schemas/RejectPortfolioShareInput'
      tags:
      - Portfolio Share
  /#UpdatePortfolioShare:
    post:
      operationId: UpdatePortfolioShare
      summary: Update Portfolio Share
      description: Updates the specified portfolio share. You can use this API to enable or disable TagOptions sharing or
        Principal sharing for an existing portfolio share. The portfolio share cannot be updated if the CreatePortfolioShare
        operation is IN_PROGRESS, as the share is not available to recipient entities. In this case, you must wait for the
        portfolio share to be completed. You must provide the accountId or organization node in the input, but not both. If
        the portfolio is shared to both an external account and an organization node, and both shares need to be updated,
        you must invoke UpdatePortfolioShare separately for each share type. This API cannot be used for removing the portfolio
        share. You must use DeletePortfolioShare API for that action. When you associate a principal with portfolio, a potential
        privilege escalation path may occur when that portfolio is then shared with other accounts. For a user in a recipient
        account who is not an Service Catalog Admin, but still has the ability to create Principals (Users/Groups/Roles),
        that user could create a role that matches a principal name association for the portfolio. Although this user may
        not know which principal names are associated th
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/UpdatePortfolioShareOutput'
        '400':
          description: InvalidParametersException; InvalidStateException; OperationNotSupportedException; ResourceNotFoundException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/InvalidParametersException'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - AWS242ServiceCatalogService.UpdatePortfolioShare
      requestBody:
        required: true
        content:
          application/x-amz-json-1.1:
            schema:
              $ref: '#/components/schemas/UpdatePortfolioShareInput'
      tags:
      - Portfolio Share
components:
  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: servicecatalog
  schemas:
    AcceptPortfolioShareInput:
      type: object
      properties:
        AcceptLanguage:
          type: string
          description: The language code. jp - Japanese zh - Chinese
        PortfolioId:
          type: string
          description: The portfolio identifier.
        PortfolioShareType:
          type: string
          enum:
          - IMPORTED
          - AWS_SERVICECATALOG
          - AWS_ORGANIZATIONS
          description: The type of shared portfolios to accept. The default is to accept imported portfolios. AWS_ORGANIZATIONS
            - Accept portfolios shared by the management account of your organization. IMPORTED - Accept imported portfolios.
            AWS_SERVICECATALOG - Not supported. (Throws ResourceNotFoundException.) For example, aws servicecatalog accept-portfolio-share
            --portfolio-id "port-2qwzkwxt3y5fk" --portfolio-share-type AWS_ORGANIZATIONS
      required:
      - PortfolioId
    AcceptPortfolioShareOutput:
      type: object
      properties: {}
    CreatePortfolioShareInput:
      type: object
      properties:
        AcceptLanguage:
          type: string
          description: The language code. jp - Japanese zh - Chinese
        PortfolioId:
          type: string
          description: The portfolio identifier.
        AccountId:
          type: string
          description: The Amazon Web Services account ID. For example, 123456789012.
        OrganizationNode:
          $ref: '#/components/schemas/OrganizationNode'
        ShareTagOptions:
          type: boolean
          description: Enables or disables TagOptions sharing when creating the portfolio share. If this flag is not provided,
            TagOptions sharing is disabled.
        SharePrincipals:
          type: boolean
          description: 'This parameter is only supported for portfolios with an OrganizationalNode Type of ORGANIZATION or
            ORGANIZATIONAL_UNIT. Enables or disables Principal sharing when creating the portfolio share. If you do not provide
            this flag, principal sharing is disabled. When you enable Principal Name Sharing for a portfolio share, the share
            recipient account end users with a principal that matches any of the associated IAM patterns can provision products
            from the portfolio. Once shared, the share recipient can view associations of PrincipalType: IAM_PATTERN on their
            portfolio. You can create the principals '
      required:
      - PortfolioId
    CreatePortfolioShareOutput:
      type: object
      properties:
        PortfolioShareToken:
          type: string
          description: The portfolio shares a unique identifier that only returns if the portfolio is shared to an organization
            node.
    DeletePortfolioShareInput:
      type: object
      properties:
        AcceptLanguage:
          type: string
          description: The language code. jp - Japanese zh - Chinese
        PortfolioId:
          type: string
          description: The portfolio identifier.
        AccountId:
          type: string
          description: The Amazon Web Services account ID.
        OrganizationNode:
          $ref: '#/components/schemas/OrganizationNode'
      required:
      - PortfolioId
    DeletePortfolioShareOutput:
      type: object
      properties:
        PortfolioShareToken:
          type: string
          description: The portfolio share unique identifier. This will only be returned if delete is made to an organization
            node.
    DescribePortfolioSharesInput:
      type: object
      properties:
        PortfolioId:
          type: string
          description: The unique identifier of the portfolio for which shares will be retrieved.
        Type:
          type: string
          enum:
          - ACCOUNT
          - ORGANIZATION
          - ORGANIZATIONAL_UNIT
          - ORGANIZATION_MEMBER_ACCOUNT
          description: 'The type of portfolio share to summarize. This field acts as a filter on the type of portfolio share,
            which can be one of the following: 1. ACCOUNT - Represents an external account to account share. 2. ORGANIZATION
            - Represents a share to an organization. This share is available to every account in the organization. 3. ORGANIZATIONAL_UNIT
            - Represents a share to an organizational unit. 4. ORGANIZATION_MEMBER_ACCOUNT - Represents a share to an account
            in the organization.'
        PageToken:
          type: string
          description: The page token for the next set of results. To retrieve the first set of results, use null.
        PageSize:
          type: integer
          description: The maximum number of items to return with this call.
      required:
      - PortfolioId
      - Type
    DescribePortfolioSharesOutput:
      type: object
      properties:
        NextPageToken:
          type: string
          description: The page token to use to retrieve the next set of results. If there are no additional results, this
            value is null.
        PortfolioShareDetails:
          type: array
          items:
            $ref: '#/components/schemas/PortfolioShareDetail'
          description: Summaries about each of the portfolio shares.
    InvalidParametersException:
      type: object
      properties:
        Message:
          type: string
    OrganizationNode:
      type: object
      properties:
        Type:
          type: string
          enum:
          - ORGANIZATION
          - ORGANIZATIONAL_UNIT
          - ACCOUNT
          description: The organization node type.
        Value:
          type: string
          description: The identifier of the organization node.
    PortfolioShareDetail:
      type: object
      properties:
        PrincipalId:
          type: string
          description: 'The identifier of the recipient entity that received the portfolio share. The recipient entity can
            be one of the following: 1. An external account. 2. An organziation member account. 3. An organzational unit (OU).
            4. The organization itself. (This shares with every account in the organization).'
        Type:
          type: string
          enum:
          - ACCOUNT
          - ORGANIZATION
          - ORGANIZATIONAL_UNIT
          - ORGANIZATION_MEMBER_ACCOUNT
          description: The type of the portfolio share.
        Accepted:
          type: boolean
          description: Indicates whether the shared portfolio is imported by the recipient account. If the recipient is in
            an organization node, the share is automatically imported, and the field is always set to true.
        ShareTagOptions:
          type: boolean
          description: Indicates whether TagOptions sharing is enabled or disabled for the portfolio share.
        SharePrincipals:
          type: boolean
          description: Indicates if Principal sharing is enabled or disabled for the portfolio share.
    RejectPortfolioShareInput:
      type: object
      properties:
        AcceptLanguage:
          type: string
          description: The language code. jp - Japanese zh - Chinese
        PortfolioId:
          type: string
          description: The portfolio identifier.
        PortfolioShareType:
          type: string
          enum:
          - IMPORTED
          - AWS_SERVICECATALOG
          - AWS_ORGANIZATIONS
          description: The type of shared portfolios to reject. The default is to reject imported portfolios. AWS_ORGANIZATIONS
            - Reject portfolios shared by the management account of your organization. IMPORTED - Reject imported portfolios.
            AWS_SERVICECATALOG - Not supported. (Throws ResourceNotFoundException.) For example, aws servicecatalog reject-portfolio-share
            --portfolio-id "port-2qwzkwxt3y5fk" --portfolio-share-type AWS_ORGANIZATIONS
      required:
      - PortfolioId
    RejectPortfolioShareOutput:
      type: object
      properties: {}
    ResourceNotFoundException:
      type: object
      properties:
        Message:
          type: string
    UpdatePortfolioShareInput:
      type: object
      properties:
        AcceptLanguage:
          type: string
          description: The language code. jp - Japanese zh - Chinese
        PortfolioId:
          type: string
          description: The unique identifier of the portfolio for which the share will be updated.
        AccountId:
          type: string
          description: The Amazon Web Services account Id of the recipient account. This field is required when updating an
            external account to account type share.
        OrganizationNode:
          $ref: '#/components/schemas/OrganizationNode'
        ShareTagOptions:
          type: boolean
          description: Enables or disables TagOptions sharing for the portfolio share. If this field is not provided, the
            current state of TagOptions sharing on the portfolio share will not be modified.
        SharePrincipals:
          type: boolean
          description: A flag to enables or disables Principals sharing in the portfolio. If this field is not provided, the
            current state of the Principals sharing on the portfolio share will not be modified.
      required:
      - PortfolioId
    UpdatePortfolioShareOutput:
      type: object
      properties:
        PortfolioShareToken:
          type: string
          description: The token that tracks the status of the UpdatePortfolioShare operation for external account to account
            or organizational type sharing.
        Status:
          type: string
          enum:
          - NOT_STARTED
          - IN_PROGRESS
          - COMPLETED
          - COMPLETED_WITH_ERRORS
          - ERROR
          description: The status of UpdatePortfolioShare operation. You can also obtain the operation status using DescribePortfolioShareStatus
            API.
x-provenance:
  method: harvested
  publisher: Amazon Web Services
  source: https://raw.githubusercontent.com/aws/api-models-aws/582e55931c45b944739742a2c1620b6026dd2d13/models/service-catalog/service/2015-12-10/service-catalog-2015-12-10.json
  note: converted by smithy-to-openapi.py from AWS's Smithy model (roadmap#1001)