Properties
| Name | Type | Description |
|---|---|---|
| StatementId | object | |
| Action | object | |
| Principal | object | |
| SourceArn | object | |
| SourceAccount | object | |
| EventSourceToken | object | |
| RevisionId | object | |
| PrincipalOrgID | object | |
| FunctionUrlAuthType | object |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "#/components/schemas/AddPermissionRequest",
"title": "AddPermissionRequest",
"type": "object",
"required": [
"StatementId",
"Action",
"Principal"
],
"properties": {
"StatementId": {
"allOf": [
{
"$ref": "#/components/schemas/StatementId"
},
{
"description": "A statement identifier that differentiates the statement from others in the same policy."
}
]
},
"Action": {
"allOf": [
{
"$ref": "#/components/schemas/Action"
},
{
"description": "The action that the principal can use on the function. For example, <code>lambda:InvokeFunction</code> or <code>lambda:GetFunction</code>."
}
]
},
"Principal": {
"allOf": [
{
"$ref": "#/components/schemas/Principal"
},
{
"description": "The Amazon Web Service or Amazon Web Services account that invokes the function. If you specify a service, use <code>SourceArn</code> or <code>SourceAccount</code> to limit who can invoke the function through that service."
}
]
},
"SourceArn": {
"allOf": [
{
"$ref": "#/components/schemas/Arn"
},
{
"description": "<p>For Amazon Web Services, the ARN of the Amazon Web Services resource that invokes the function. For example, an Amazon S3 bucket or Amazon SNS topic.</p> <p>Note that Lambda configures the comparison using the <code>StringLike</code> operator.</p>"
}
]
},
"SourceAccount": {
"allOf": [
{
"$ref": "#/components/schemas/SourceOwner"
},
{
"description": "For Amazon Web Service, the ID of the Amazon Web Services account that owns the resource. Use this together with <code>SourceArn</code> to ensure that the specified account owns the resource. It is possible for an Amazon S3 bucket to be deleted by its owner and recreated by another account."
}
]
},
"EventSourceToken": {
"allOf": [
{
"$ref": "#/components/schemas/EventSourceToken"
},
{
"description": "For Alexa Smart Home functions, a token that the invoker must supply."
}
]
},
"RevisionId": {
"allOf": [
{
"$ref": "#/components/schemas/String"
},
{
"description": "Update the policy only if the revision ID matches the ID that's specified. Use this option to avoid modifying a policy that has changed since you last read it."
}
]
},
"PrincipalOrgID": {
"allOf": [
{
"$ref": "#/components/schemas/PrincipalOrgID"
},
{
"description": "The identifier for your organization in Organizations. Use this to grant permissions to all the Amazon Web Services accounts under this organization."
}
]
},
"FunctionUrlAuthType": {
"allOf": [
{
"$ref": "#/components/schemas/FunctionUrlAuthType"
},
{
"description": "The type of authentication that your function URL uses. Set to <code>AWS_IAM</code> if you want to restrict access to authenticated users only. Set to <code>NONE</code> if you want to bypass IAM authentication to create a public endpoint. For more information, see <a href=\"https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html\">Security and auth model for Lambda function URLs</a>."
}
]
}
}
}
Work with this as data
Every JSON Schema 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 schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.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.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/apis-io-engineering-platform-addpermissionrequest"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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.