}
```
### RequestPermissionParams
* permission
```ts
MiniPermission
```
```ts
export interface RequestPermissionParams {
permission: MiniPermission
}
```
### MiniPermission
```ts
'CAMERA' | 'MICROPHONE' | 'MOTION'
```
### RequestPermissionResponse
* errorMessage
```ts
string
```
* granted
```ts
boolean
```
```ts
export interface RequestPermissionResponse {
granted: boolean
errorMessage?: string
}
```
Examples
### Examples
* #### Example code
##### Default
```tsx
import {useRequestPermissions, Button} from '@shopify/shop-minis-react'
export default function MyComponent() {
const {requestPermission} = useRequestPermissions()
const handleCameraPermission = async () => {
try {
const response = await requestPermission({permission: 'CAMERA'})
if (response.granted) {
console.log('Camera permission granted')
// You can now proceed with camera functionality
} else {
console.log('Camera permission denied:', response.errorMessage)
// Handle the denial gracefully
// For example: show alternative UI or functionality
}
} catch (error) {
console.error('Failed to request camera permission:', error)
// Handle unexpected errors
}
}
return (
)
}
```