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.
The Service Catalog Portfolio Share API from Amazon Service Catalog — 6 operation(s) for service catalog portfolio share.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/amazon-service-catalog:amazon-service-catalog-portfolio-share-api"
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.
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: 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)