# API Reference
## Constructs
### Skill
- *Implements:* [`cdk-alexa-skill.ISkill`](#cdk-alexa-skill.ISkill)
Defines an Alexa Skill.
#### Initializer
```typescript
import { Skill } from 'cdk-alexa-skill'
new Skill(scope: Construct, id: string, props: SkillProps)
```
##### `scope`Required
- *Type:* [`constructs.Construct`](#constructs.Construct)
---
##### `id`Required
- *Type:* `string`
---
##### `props`Required
- *Type:* [`cdk-alexa-skill.SkillProps`](#cdk-alexa-skill.SkillProps)
---
#### Static Functions
##### `fromSkillId`
```typescript
import { Skill } from 'cdk-alexa-skill'
Skill.fromSkillId(scope: Construct, id: string, skillId: string)
```
###### `scope`Required
- *Type:* [`constructs.Construct`](#constructs.Construct)
---
###### `id`Required
- *Type:* `string`
---
###### `skillId`Required
- *Type:* `string`
---
#### Properties
##### `skillId`Required
- *Type:* `string`
The Skill ID of this Alexa Skill.
---
## Structs
### SkillProps
Construction properties for an Alexa Skill object.
#### Initializer
```typescript
import { SkillProps } from 'cdk-alexa-skill'
const skillProps: SkillProps = { ... }
```
##### `alexaVendorId`Required
- *Type:* `string`
Vendor ID associated with Alexa Developer account.
---
##### `lwaClientId`Required
- *Type:* `string`
Client ID of Login with Amazon (LWA) Security Profile.
---
##### `lwaClientSecret`Required
- *Type:* [`aws-cdk-lib.SecretValue`](#aws-cdk-lib.SecretValue)
Client secret associated with Login with Amazon (LWA) Client ID.
---
##### `lwaRefreshToken`Required
- *Type:* [`aws-cdk-lib.SecretValue`](#aws-cdk-lib.SecretValue)
Refresh token associated with Login with Amazon (LWA) Security Profile.
---
##### `skillPackagePath`Required
- *Type:* `string`
The relative path to the skill package directory containing all configuration files for the Alexa Skill.
---
##### `endpointLambdaFunction`Optional
- *Type:* [`aws-cdk-lib.aws_lambda.IFunction`](#aws-cdk-lib.aws_lambda.IFunction)
- *Default:* No endpoint Lambda Function
The Lambda Function to be configured as the endpoint for the Alexa Skill.
---
## Protocols
### ISkill
- *Extends:* [`aws-cdk-lib.IResource`](#aws-cdk-lib.IResource)
- *Implemented By:* [`cdk-alexa-skill.Skill`](#cdk-alexa-skill.Skill), [`cdk-alexa-skill.ISkill`](#cdk-alexa-skill.ISkill)
An Alexa Skill, either managed by this CDK app, or imported.
#### Properties
##### `node`Required
- *Type:* [`constructs.Node`](#constructs.Node)
The tree node.
---
##### `env`Required
- *Type:* [`aws-cdk-lib.ResourceEnvironment`](#aws-cdk-lib.ResourceEnvironment)
The environment this resource belongs to.
For resources that are created and managed by the CDK
(generally, those created by creating new class instances like Role, Bucket, etc.),
this is always the same as the environment of the stack they belong to;
however, for imported resources
(those obtained from static methods like fromRoleArn, fromBucketName, etc.),
that might be different than the stack they were imported into.
---
##### `stack`Required
- *Type:* [`aws-cdk-lib.Stack`](#aws-cdk-lib.Stack)
The stack in which this resource is defined.
---
##### `skillId`Required
- *Type:* `string`
The ID associated with this Skill.
---