---
title: Configure DaVinci client for iOS properties
description: Applies to:
component: sdks
version: latest
page_id: sdks:davinci:sdkconfiguration/configure-sdk-ios
canonical_url: https://docs.pingidentity.com/sdks/latest/davinci/sdkconfiguration/configure-sdk-ios.html
revdate: Mon, 18 Nov 2024 12:13:37 +0100
keywords: ["DaVinci", "Flows", "Setup &amp; Configuration", "Source Code", "Integration"]
section_ids:
  example: Example
---

# Configure DaVinci client for iOS properties

***Applies to***:

* [icon: square-o, set=fa]DaVinci client for Android

* [icon: check-square-o, set=fa]DaVinci client for iOS

* [icon: square-o, set=fa]DaVinci client for JavaScript

Configure DaVinci client module for iOS properties to connect to PingOne and step through an associated DaVinci flow.

Create an instance of the `DaVinci` class by passing configuration to the `createDaVinci` method. This uses the underlying `Oidc` module to set configuration properties.

The following properties are available for configuring the DaVinci client for iOS:

**Properties**

| Property               | Description                                                                                                                                                                                                                                                                                                                                                                                               | Required? |
| ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------- |
| `discoveryEndpoint`    | Your PingOne server's `.well-known/openid-configuration` endpoint.*Example*:`https://auth.pingone.com/3072206d-c6ce-ch15-m0nd-f87e972c7cc3/as/.well-known/openid-configuration`                                                                                                                                                                                                                           | Yes       |
| `clientId`             | The `client_id` of the OAuth 2.0 client profile to use.For example, `6c7eb89a-66e9-ab12-cd34-eeaf795650b2`                                                                                                                                                                                                                                                                                                | Yes       |
| `scopes`               | A set of scopes to request when performing an OAuth 2.0 authorization flow\.For example, `"openid", "profile", "email", "address", "revoke"`.                                                                                                                                                                                                                                                             | Yes       |
| `redirectUri`          | The `redirect_uri` as configured in the OAuth 2.0 client profile.	This value must match a value configured in your OAuth 2.0 client.For example, `org.forgerock.demo://oauth2redirect`.                                                                                                                                                                                                                   | Yes       |
| `timeout`              | A timeout, in seconds, for each request that communicates with the server.Default is `30` seconds.                                                                                                                                                                                                                                                                                                        | No        |
| `acrValues`            | Request which flow the PingOne server uses by adding an Authentication Context Class Reference (ACR) parameter.Enter a single DaVinci policy by using its flow policy ID.Example:`"d1210a6b0b2665dbaa5b652221badba2"`                                                                                                                                                                                     | No        |
| `additionalParameters` | Add additional key-pair parameters as query strings to the initial OAuth 2.0 call to the `/authorize` endpoint.For example, `myConfig.additionalParameters = ["customKey":"customValue"]`&#xA;&#xA;You can access these additional OAuth 2.0 parameters in your DaVinci flows by using the authorizationRequest.\<customParameter> property.&#xA;&#xA;Learn more in Referencing PingOne data in the flow. | No        |

## Example

The following shows an example DaVinci client configuration, using the underlying `Oidc` module:

Configure DaVinci client connection properties

```swift
let daVinci = DaVinci.createDaVinci { config in
    // Oidc as module
    config.module(OidcModule.config) { oidcValue in
        oidcValue.clientId = "6c7eb89a-66e9-ab12-cd34-eeaf795650b2"
        oidcValue.discoveryEndpoint = "https://auth.pingone.com/3072206d-c6ce-ch15-m0nd-f87e972c7cc3/as/.well-known/openid-configuration"
        oidcValue.scopes = ["openid", "profile", "email", "address", "revoke"]
        oidcValue.redirectUri = "org.forgerock.demo://oauth2redirect"
        oidcValue.additionalParameters = ["customKey":"customValue"]
    }
}
```
