openapi: 3.1.0 info: title: Amazon Serverless Application Repository API description: >- The AWS Serverless Application Repository enables teams, organizations, and individual developers to find, deploy, and publish serverless applications. It provides programmatic access to create, manage, and deploy SAM-based serverless applications and manage their versions and policies. version: 2017-09-08 contact: name: Amazon Web Services url: https://aws.amazon.com/serverless/serverlessrepo/ license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0 x-generated-from: documentation servers: - url: https://serverlessrepo.{region}.amazonaws.com variables: region: default: us-east-1 description: The AWS region. tags: - name: Applications description: Serverless application management - name: Versions description: Application version management - name: Policies description: Application policy management - name: Changesets description: CloudFormation changeset management paths: /applications: get: operationId: ListApplications summary: Amazon Serverless Application Repository List Applications description: >- Lists applications owned by the requester. tags: - Applications parameters: - name: maxItems in: query description: The total number of items to return. schema: type: integer - name: nextToken in: query description: A token to specify where to start paginating. schema: type: string responses: '200': description: Successful response. content: application/json: schema: type: object properties: applications: type: array items: $ref: '#/components/schemas/ApplicationSummary' nextToken: type: string examples: ListApplications200Example: summary: Default ListApplications 200 response x-microcks-default: true value: applications: - applicationId: "arn:aws:serverlessrepo:us-east-1:123456789012:applications/MyApp" name: "MyApp" author: "developer@example.com" description: "A sample serverless application" nextToken: null '400': description: Bad request. x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: CreateApplication summary: Amazon Serverless Application Repository Create Application description: >- Creates an application, optionally including an AWS SAM file to create the first application version in the same call. tags: - Applications requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateApplicationRequest' responses: '201': description: Application created successfully. content: application/json: schema: $ref: '#/components/schemas/Application' examples: CreateApplication201Example: summary: Default CreateApplication 201 response x-microcks-default: true value: applicationId: "arn:aws:serverlessrepo:us-east-1:123456789012:applications/MyApp" name: "MyApp" author: "developer@example.com" description: "A sample serverless application" '400': description: Bad request. x-microcks-operation: delay: 0 dispatcher: FALLBACK /applications/{applicationId}: get: operationId: GetApplication summary: Amazon Serverless Application Repository Get Application description: >- Gets the specified application. tags: - Applications parameters: - name: applicationId in: path required: true description: The Amazon Resource Name (ARN) of the application. schema: type: string - name: semanticVersion in: query description: The semantic version of the application to get. schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/Application' examples: GetApplication200Example: summary: Default GetApplication 200 response x-microcks-default: true value: applicationId: "arn:aws:serverlessrepo:us-east-1:123456789012:applications/MyApp" name: "MyApp" author: "developer@example.com" description: "A sample serverless application" '404': description: Application not found. x-microcks-operation: delay: 0 dispatcher: FALLBACK patch: operationId: UpdateApplication summary: Amazon Serverless Application Repository Update Application description: >- Updates the specified application. tags: - Applications parameters: - name: applicationId in: path required: true description: The Amazon Resource Name (ARN) of the application. schema: type: string requestBody: required: true content: application/json: schema: type: object properties: author: type: string description: The name of the author publishing the app. description: type: string description: The description of the application. homePageUrl: type: string description: A URL with more information about the application. labels: type: array items: type: string description: Labels to improve discovery of apps in search results. readmeBody: type: string description: A text readme file that contains a more detailed description of the application. responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/Application' examples: UpdateApplication200Example: summary: Default UpdateApplication 200 response x-microcks-default: true value: applicationId: "arn:aws:serverlessrepo:us-east-1:123456789012:applications/MyApp" name: "MyApp" description: "Updated description" x-microcks-operation: delay: 0 dispatcher: FALLBACK delete: operationId: DeleteApplication summary: Amazon Serverless Application Repository Delete Application description: >- Deletes the specified application. tags: - Applications parameters: - name: applicationId in: path required: true description: The Amazon Resource Name (ARN) of the application. schema: type: string responses: '204': description: Application deleted successfully. '404': description: Application not found. x-microcks-operation: delay: 0 dispatcher: FALLBACK /applications/{applicationId}/versions: get: operationId: ListApplicationVersions summary: Amazon Serverless Application Repository List Application Versions description: >- Lists versions for the specified application. tags: - Versions parameters: - name: applicationId in: path required: true description: The Amazon Resource Name (ARN) of the application. schema: type: string - name: maxItems in: query description: The total number of items to return. schema: type: integer - name: nextToken in: query description: A token to specify where to start paginating. schema: type: string responses: '200': description: Successful response. content: application/json: schema: type: object properties: versions: type: array items: $ref: '#/components/schemas/VersionSummary' nextToken: type: string examples: ListApplicationVersions200Example: summary: Default ListApplicationVersions 200 response x-microcks-default: true value: versions: - applicationId: "arn:aws:serverlessrepo:us-east-1:123456789012:applications/MyApp" semanticVersion: "1.0.0" creationTime: "2025-03-15T14:30:00Z" nextToken: null x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: CreateApplicationVersion summary: Amazon Serverless Application Repository Create Application Version description: >- Creates an application version. tags: - Versions parameters: - name: applicationId in: path required: true description: The Amazon Resource Name (ARN) of the application. schema: type: string requestBody: required: true content: application/json: schema: type: object required: - semanticVersion properties: semanticVersion: type: string description: The semantic version of the new version. sourceCodeArchiveUrl: type: string description: A link to the S3 object that contains the ZIP archive of the source code for this version. sourceCodeUrl: type: string description: A link to a public repository for the source code of your application. templateBody: type: string description: The raw packaged AWS SAM template of your application. responses: '201': description: Application version created. content: application/json: schema: $ref: '#/components/schemas/VersionSummary' examples: CreateApplicationVersion201Example: summary: Default CreateApplicationVersion 201 response x-microcks-default: true value: applicationId: "arn:aws:serverlessrepo:us-east-1:123456789012:applications/MyApp" semanticVersion: "1.1.0" creationTime: "2025-03-15T14:30:00Z" x-microcks-operation: delay: 0 dispatcher: FALLBACK /applications/{applicationId}/changesets: post: operationId: CreateCloudFormationChangeSet summary: Amazon Serverless Application Repository Create CloudFormation Change Set description: >- Creates an AWS CloudFormation change set for the given application. tags: - Changesets parameters: - name: applicationId in: path required: true description: The Amazon Resource Name (ARN) of the application. schema: type: string requestBody: required: true content: application/json: schema: type: object required: - stackName properties: capabilities: type: array items: type: string description: A list of values that you must specify before you can deploy certain applications. changeSetName: type: string description: The name of the change set. semanticVersion: type: string description: The semantic version of the application. stackName: type: string description: The name or the unique ID of the stack for which you are creating a change set. responses: '201': description: CloudFormation change set created. content: application/json: schema: type: object properties: applicationId: type: string changeSetId: type: string semanticVersion: type: string stackId: type: string examples: CreateCloudFormationChangeSet201Example: summary: Default CreateCloudFormationChangeSet 201 response x-microcks-default: true value: applicationId: "arn:aws:serverlessrepo:us-east-1:123456789012:applications/MyApp" changeSetId: "arn:aws:cloudformation:us-east-1:123456789012:changeSet/my-change-set/abc123" semanticVersion: "1.0.0" stackId: "arn:aws:cloudformation:us-east-1:123456789012:stack/my-stack/abc123" x-microcks-operation: delay: 0 dispatcher: FALLBACK /applications/{applicationId}/policy: get: operationId: GetApplicationPolicy summary: Amazon Serverless Application Repository Get Application Policy description: >- Retrieves the policy for the application. tags: - Policies parameters: - name: applicationId in: path required: true description: The Amazon Resource Name (ARN) of the application. schema: type: string responses: '200': description: Successful response. content: application/json: schema: type: object properties: statements: type: array items: $ref: '#/components/schemas/ApplicationPolicyStatement' examples: GetApplicationPolicy200Example: summary: Default GetApplicationPolicy 200 response x-microcks-default: true value: statements: - statementId: "policy-stmt-001" principals: ["*"] actions: ["serverlessrepo:Deploy"] x-microcks-operation: delay: 0 dispatcher: FALLBACK put: operationId: PutApplicationPolicy summary: Amazon Serverless Application Repository Put Application Policy description: >- Sets the permission policy for an application. tags: - Policies parameters: - name: applicationId in: path required: true description: The Amazon Resource Name (ARN) of the application. schema: type: string requestBody: required: true content: application/json: schema: type: object required: - statements properties: statements: type: array items: $ref: '#/components/schemas/ApplicationPolicyStatement' responses: '200': description: Policy updated. content: application/json: schema: type: object properties: statements: type: array items: $ref: '#/components/schemas/ApplicationPolicyStatement' examples: PutApplicationPolicy200Example: summary: Default PutApplicationPolicy 200 response x-microcks-default: true value: statements: - statementId: "policy-stmt-001" principals: ["*"] actions: ["serverlessrepo:Deploy"] x-microcks-operation: delay: 0 dispatcher: FALLBACK components: schemas: Application: type: object description: Information about the application. properties: applicationId: type: string description: The application Amazon Resource Name (ARN). example: "arn:aws:serverlessrepo:us-east-1:123456789012:applications/MyApp" name: type: string description: The name of the application. example: "MyApp" author: type: string description: The name of the author publishing the app. example: "developer@example.com" description: type: string description: The description of the application. example: "A sample serverless application" creationTime: type: string format: date-time description: The date and time this resource was created. homePageUrl: type: string description: A URL with more information about the application. labels: type: array items: type: string description: Labels to improve discovery of apps in search results. licenseUrl: type: string description: A link to a license file of the app. readmeUrl: type: string description: A link to the readme file in Markdown language. spdxLicenseId: type: string description: A valid identifier from https://spdx.org/licenses/. version: $ref: '#/components/schemas/VersionSummary' ApplicationSummary: type: object description: Summary of details about the application. properties: applicationId: type: string description: The application ARN. example: "arn:aws:serverlessrepo:us-east-1:123456789012:applications/MyApp" name: type: string description: The name of the application. example: "MyApp" author: type: string description: The name of the author. example: "developer@example.com" description: type: string description: The description of the application. creationTime: type: string format: date-time description: The date and time when created. labels: type: array items: type: string description: Labels for discovery. VersionSummary: type: object description: Summary of details about an application version. properties: applicationId: type: string description: The application ARN. example: "arn:aws:serverlessrepo:us-east-1:123456789012:applications/MyApp" semanticVersion: type: string description: The semantic version of the application. example: "1.0.0" creationTime: type: string format: date-time description: The date and time when this version was created. sourceCodeUrl: type: string description: A link to a public repository for the source code. ApplicationPolicyStatement: type: object description: Policy statement for an application. properties: statementId: type: string description: A unique ID for the statement. example: "policy-stmt-001" principals: type: array items: type: string description: An array of AWS account IDs or * for public access. actions: type: array items: type: string description: For each action, specify the permission to be granted. CreateApplicationRequest: type: object required: - author - description - name properties: author: type: string description: The name of the author publishing the app. description: type: string description: The description of the application. homePageUrl: type: string description: A URL with more information about the application. labels: type: array items: type: string description: Labels to improve discovery. licenseBody: type: string description: A text file that contains the license of the app. name: type: string description: The name of the application. readmeBody: type: string description: A text readme file for the application. spdxLicenseId: type: string description: A valid identifier from https://spdx.org/licenses/. templateBody: type: string description: The local packaged AWS SAM template file of your application. securitySchemes: AWSSignatureV4: type: apiKey in: header name: Authorization description: AWS Signature Version 4 authentication security: - AWSSignatureV4: []