published on Thursday, Mar 12, 2026 by Pulumi
published on Thursday, Mar 12, 2026 by Pulumi
Manages an End User Request in Okta Identity Governance. This resource allows you to create access requests on behalf of end users through the Okta Identity Governance system.
This resource creates access requests with the specified requester field values and tracks the status of the request. The resource does not support updates or deletions - requests must be managed through the Okta Dashboard after creation.
Note: This resource is part of Okta Identity Governance functionality and requires appropriate licensing and configuration.
Important Limitations:
- Update Not Supported: This resource does not support updates. To modify a request, you must cancel it via the Okta Dashboard and recreate the resource.
- Delete Not Supported: This resource does not support deletions. Requests must be cancelled via the Okta Dashboard.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as okta from "@pulumi/okta";
const example = new okta.EndUserMyRequests("example", {
entryId: "cen123456789abcdefgh",
requesterFieldValues: [
{
id: "abcdefgh-0123-4567-8910-hgfedcba123",
type: "TEXT",
value: "I need access to complete my certification.",
},
{
id: "ijklmnop-a12b2-c3d4-e5f6-abcdefghi",
type: "DURATION",
value: "For 5 days",
},
{
id: "tuvwxyz-0123-456-8910-zyxwvut0123",
type: "SELECT",
value: "Yes",
},
],
});
import pulumi
import pulumi_okta as okta
example = okta.EndUserMyRequests("example",
entry_id="cen123456789abcdefgh",
requester_field_values=[
{
"id": "abcdefgh-0123-4567-8910-hgfedcba123",
"type": "TEXT",
"value": "I need access to complete my certification.",
},
{
"id": "ijklmnop-a12b2-c3d4-e5f6-abcdefghi",
"type": "DURATION",
"value": "For 5 days",
},
{
"id": "tuvwxyz-0123-456-8910-zyxwvut0123",
"type": "SELECT",
"value": "Yes",
},
])
package main
import (
"github.com/pulumi/pulumi-okta/sdk/v6/go/okta"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := okta.NewEndUserMyRequests(ctx, "example", &okta.EndUserMyRequestsArgs{
EntryId: pulumi.String("cen123456789abcdefgh"),
RequesterFieldValues: okta.EndUserMyRequestsRequesterFieldValueArray{
&okta.EndUserMyRequestsRequesterFieldValueArgs{
Id: pulumi.String("abcdefgh-0123-4567-8910-hgfedcba123"),
Type: pulumi.String("TEXT"),
Value: pulumi.String("I need access to complete my certification."),
},
&okta.EndUserMyRequestsRequesterFieldValueArgs{
Id: pulumi.String("ijklmnop-a12b2-c3d4-e5f6-abcdefghi"),
Type: pulumi.String("DURATION"),
Value: pulumi.String("For 5 days"),
},
&okta.EndUserMyRequestsRequesterFieldValueArgs{
Id: pulumi.String("tuvwxyz-0123-456-8910-zyxwvut0123"),
Type: pulumi.String("SELECT"),
Value: pulumi.String("Yes"),
},
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Okta = Pulumi.Okta;
return await Deployment.RunAsync(() =>
{
var example = new Okta.EndUserMyRequests("example", new()
{
EntryId = "cen123456789abcdefgh",
RequesterFieldValues = new[]
{
new Okta.Inputs.EndUserMyRequestsRequesterFieldValueArgs
{
Id = "abcdefgh-0123-4567-8910-hgfedcba123",
Type = "TEXT",
Value = "I need access to complete my certification.",
},
new Okta.Inputs.EndUserMyRequestsRequesterFieldValueArgs
{
Id = "ijklmnop-a12b2-c3d4-e5f6-abcdefghi",
Type = "DURATION",
Value = "For 5 days",
},
new Okta.Inputs.EndUserMyRequestsRequesterFieldValueArgs
{
Id = "tuvwxyz-0123-456-8910-zyxwvut0123",
Type = "SELECT",
Value = "Yes",
},
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.okta.EndUserMyRequests;
import com.pulumi.okta.EndUserMyRequestsArgs;
import com.pulumi.okta.inputs.EndUserMyRequestsRequesterFieldValueArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new EndUserMyRequests("example", EndUserMyRequestsArgs.builder()
.entryId("cen123456789abcdefgh")
.requesterFieldValues(
EndUserMyRequestsRequesterFieldValueArgs.builder()
.id("abcdefgh-0123-4567-8910-hgfedcba123")
.type("TEXT")
.value("I need access to complete my certification.")
.build(),
EndUserMyRequestsRequesterFieldValueArgs.builder()
.id("ijklmnop-a12b2-c3d4-e5f6-abcdefghi")
.type("DURATION")
.value("For 5 days")
.build(),
EndUserMyRequestsRequesterFieldValueArgs.builder()
.id("tuvwxyz-0123-456-8910-zyxwvut0123")
.type("SELECT")
.value("Yes")
.build())
.build());
}
}
resources:
example:
type: okta:EndUserMyRequests
properties:
entryId: cen123456789abcdefgh
requesterFieldValues:
- id: abcdefgh-0123-4567-8910-hgfedcba123
type: TEXT
value: I need access to complete my certification.
- id: ijklmnop-a12b2-c3d4-e5f6-abcdefghi
type: DURATION
value: For 5 days
- id: tuvwxyz-0123-456-8910-zyxwvut0123
type: SELECT
value: Yes
Example with Multi-Select Values
import * as pulumi from "@pulumi/pulumi";
import * as okta from "@pulumi/okta";
const multiSelectExample = new okta.EndUserMyRequests("multi_select_example", {
entryId: "cen123456789abcdefgh",
requesterFieldValues: [
{
id: "multi-select-field-id",
type: "MULTISELECT",
label: "Select multiple options",
values: [
"Option1",
"Option2",
"Option3",
],
},
{
id: "text-field-id",
type: "TEXT",
value: "Additional justification text",
},
],
});
import pulumi
import pulumi_okta as okta
multi_select_example = okta.EndUserMyRequests("multi_select_example",
entry_id="cen123456789abcdefgh",
requester_field_values=[
{
"id": "multi-select-field-id",
"type": "MULTISELECT",
"label": "Select multiple options",
"values": [
"Option1",
"Option2",
"Option3",
],
},
{
"id": "text-field-id",
"type": "TEXT",
"value": "Additional justification text",
},
])
package main
import (
"github.com/pulumi/pulumi-okta/sdk/v6/go/okta"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := okta.NewEndUserMyRequests(ctx, "multi_select_example", &okta.EndUserMyRequestsArgs{
EntryId: pulumi.String("cen123456789abcdefgh"),
RequesterFieldValues: okta.EndUserMyRequestsRequesterFieldValueArray{
&okta.EndUserMyRequestsRequesterFieldValueArgs{
Id: pulumi.String("multi-select-field-id"),
Type: pulumi.String("MULTISELECT"),
Label: pulumi.String("Select multiple options"),
Values: pulumi.StringArray{
pulumi.String("Option1"),
pulumi.String("Option2"),
pulumi.String("Option3"),
},
},
&okta.EndUserMyRequestsRequesterFieldValueArgs{
Id: pulumi.String("text-field-id"),
Type: pulumi.String("TEXT"),
Value: pulumi.String("Additional justification text"),
},
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Okta = Pulumi.Okta;
return await Deployment.RunAsync(() =>
{
var multiSelectExample = new Okta.EndUserMyRequests("multi_select_example", new()
{
EntryId = "cen123456789abcdefgh",
RequesterFieldValues = new[]
{
new Okta.Inputs.EndUserMyRequestsRequesterFieldValueArgs
{
Id = "multi-select-field-id",
Type = "MULTISELECT",
Label = "Select multiple options",
Values = new[]
{
"Option1",
"Option2",
"Option3",
},
},
new Okta.Inputs.EndUserMyRequestsRequesterFieldValueArgs
{
Id = "text-field-id",
Type = "TEXT",
Value = "Additional justification text",
},
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.okta.EndUserMyRequests;
import com.pulumi.okta.EndUserMyRequestsArgs;
import com.pulumi.okta.inputs.EndUserMyRequestsRequesterFieldValueArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var multiSelectExample = new EndUserMyRequests("multiSelectExample", EndUserMyRequestsArgs.builder()
.entryId("cen123456789abcdefgh")
.requesterFieldValues(
EndUserMyRequestsRequesterFieldValueArgs.builder()
.id("multi-select-field-id")
.type("MULTISELECT")
.label("Select multiple options")
.values(
"Option1",
"Option2",
"Option3")
.build(),
EndUserMyRequestsRequesterFieldValueArgs.builder()
.id("text-field-id")
.type("TEXT")
.value("Additional justification text")
.build())
.build());
}
}
resources:
multiSelectExample:
type: okta:EndUserMyRequests
name: multi_select_example
properties:
entryId: cen123456789abcdefgh
requesterFieldValues:
- id: multi-select-field-id
type: MULTISELECT
label: Select multiple options
values:
- Option1
- Option2
- Option3
- id: text-field-id
type: TEXT
value: Additional justification text
Field Type Guidelines
Field Type Usage
- TEXT: Use
valuefor free-form text input - SELECT: Use
valuefor single selection from predefined options - MULTISELECT: Use
values(list) for multiple selections from predefined options - DURATION: Use
valuefor time duration specifications (e.g., “5 days”, “2 weeks”) - ISO_DATE: Use
valuefor date specifications in ISO format - OKTA_USER_ID: Use
valuefor Okta user identifiers
Important Notes
- For
MULTISELECTtype fields, you must use thevaluesattribute instead ofvalue - The
idfield is always required and must match the field ID defined in the approval system - The
labelandtypefields are optional but recommended for clarity - Field requirements and validation are determined by the approval system configuration
Limitations and Considerations
No Updates: Once created, requests cannot be updated through Terraform. Any changes require cancelling the request via Okta Dashboard and recreating.
No Deletions: Requests cannot be deleted through Terraform. Use the Okta Dashboard to cancel requests.
Field Dependencies: The required fields and their types are determined by the approval system configuration in Okta Identity Governance.
Status Tracking: The
statusfield is read-only and reflects the current state of the request in the approval workflow.Identity Governance Licensing: This resource requires Okta Identity Governance licensing and proper configuration.
Create EndUserMyRequests Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new EndUserMyRequests(name: string, args: EndUserMyRequestsArgs, opts?: CustomResourceOptions);@overload
def EndUserMyRequests(resource_name: str,
args: EndUserMyRequestsArgs,
opts: Optional[ResourceOptions] = None)
@overload
def EndUserMyRequests(resource_name: str,
opts: Optional[ResourceOptions] = None,
entry_id: Optional[str] = None,
requester_field_values: Optional[Sequence[EndUserMyRequestsRequesterFieldValueArgs]] = None)func NewEndUserMyRequests(ctx *Context, name string, args EndUserMyRequestsArgs, opts ...ResourceOption) (*EndUserMyRequests, error)public EndUserMyRequests(string name, EndUserMyRequestsArgs args, CustomResourceOptions? opts = null)
public EndUserMyRequests(String name, EndUserMyRequestsArgs args)
public EndUserMyRequests(String name, EndUserMyRequestsArgs args, CustomResourceOptions options)
type: okta:EndUserMyRequests
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args EndUserMyRequestsArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args EndUserMyRequestsArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args EndUserMyRequestsArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args EndUserMyRequestsArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args EndUserMyRequestsArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var endUserMyRequestsResource = new Okta.EndUserMyRequests("endUserMyRequestsResource", new()
{
EntryId = "string",
RequesterFieldValues = new[]
{
new Okta.Inputs.EndUserMyRequestsRequesterFieldValueArgs
{
Id = "string",
Label = "string",
Type = "string",
Value = "string",
Values = new[]
{
"string",
},
},
},
});
example, err := okta.NewEndUserMyRequests(ctx, "endUserMyRequestsResource", &okta.EndUserMyRequestsArgs{
EntryId: pulumi.String("string"),
RequesterFieldValues: okta.EndUserMyRequestsRequesterFieldValueArray{
&okta.EndUserMyRequestsRequesterFieldValueArgs{
Id: pulumi.String("string"),
Label: pulumi.String("string"),
Type: pulumi.String("string"),
Value: pulumi.String("string"),
Values: pulumi.StringArray{
pulumi.String("string"),
},
},
},
})
var endUserMyRequestsResource = new EndUserMyRequests("endUserMyRequestsResource", EndUserMyRequestsArgs.builder()
.entryId("string")
.requesterFieldValues(EndUserMyRequestsRequesterFieldValueArgs.builder()
.id("string")
.label("string")
.type("string")
.value("string")
.values("string")
.build())
.build());
end_user_my_requests_resource = okta.EndUserMyRequests("endUserMyRequestsResource",
entry_id="string",
requester_field_values=[{
"id": "string",
"label": "string",
"type": "string",
"value": "string",
"values": ["string"],
}])
const endUserMyRequestsResource = new okta.EndUserMyRequests("endUserMyRequestsResource", {
entryId: "string",
requesterFieldValues: [{
id: "string",
label: "string",
type: "string",
value: "string",
values: ["string"],
}],
});
type: okta:EndUserMyRequests
properties:
entryId: string
requesterFieldValues:
- id: string
label: string
type: string
value: string
values:
- string
EndUserMyRequests Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The EndUserMyRequests resource accepts the following input properties:
- Entry
Id string - The ID of the catalog entry for which the request is being made.
- Requester
Field List<EndValues User My Requests Requester Field Value> - The requester input fields required by the approval system. Note: The fields required are determined by the approval system.
- Entry
Id string - The ID of the catalog entry for which the request is being made.
- Requester
Field []EndValues User My Requests Requester Field Value Args - The requester input fields required by the approval system. Note: The fields required are determined by the approval system.
- entry
Id String - The ID of the catalog entry for which the request is being made.
- requester
Field List<EndValues User My Requests Requester Field Value> - The requester input fields required by the approval system. Note: The fields required are determined by the approval system.
- entry
Id string - The ID of the catalog entry for which the request is being made.
- requester
Field EndValues User My Requests Requester Field Value[] - The requester input fields required by the approval system. Note: The fields required are determined by the approval system.
- entry_
id str - The ID of the catalog entry for which the request is being made.
- requester_
field_ Sequence[Endvalues User My Requests Requester Field Value Args] - The requester input fields required by the approval system. Note: The fields required are determined by the approval system.
- entry
Id String - The ID of the catalog entry for which the request is being made.
- requester
Field List<Property Map>Values - The requester input fields required by the approval system. Note: The fields required are determined by the approval system.
Outputs
All input properties are implicitly available as output properties. Additionally, the EndUserMyRequests resource produces the following output properties:
Look up Existing EndUserMyRequests Resource
Get an existing EndUserMyRequests resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: EndUserMyRequestsState, opts?: CustomResourceOptions): EndUserMyRequests@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
entry_id: Optional[str] = None,
requester_field_values: Optional[Sequence[EndUserMyRequestsRequesterFieldValueArgs]] = None,
status: Optional[str] = None) -> EndUserMyRequestsfunc GetEndUserMyRequests(ctx *Context, name string, id IDInput, state *EndUserMyRequestsState, opts ...ResourceOption) (*EndUserMyRequests, error)public static EndUserMyRequests Get(string name, Input<string> id, EndUserMyRequestsState? state, CustomResourceOptions? opts = null)public static EndUserMyRequests get(String name, Output<String> id, EndUserMyRequestsState state, CustomResourceOptions options)resources: _: type: okta:EndUserMyRequests get: id: ${id}- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Entry
Id string - The ID of the catalog entry for which the request is being made.
- Requester
Field List<EndValues User My Requests Requester Field Value> - The requester input fields required by the approval system. Note: The fields required are determined by the approval system.
- Status string
- The status of the request. Possible values include:
APPROVED,CANCELED,DENIED,EXPIRED,PENDING,REJECTED,SUBMITTED
- Entry
Id string - The ID of the catalog entry for which the request is being made.
- Requester
Field []EndValues User My Requests Requester Field Value Args - The requester input fields required by the approval system. Note: The fields required are determined by the approval system.
- Status string
- The status of the request. Possible values include:
APPROVED,CANCELED,DENIED,EXPIRED,PENDING,REJECTED,SUBMITTED
- entry
Id String - The ID of the catalog entry for which the request is being made.
- requester
Field List<EndValues User My Requests Requester Field Value> - The requester input fields required by the approval system. Note: The fields required are determined by the approval system.
- status String
- The status of the request. Possible values include:
APPROVED,CANCELED,DENIED,EXPIRED,PENDING,REJECTED,SUBMITTED
- entry
Id string - The ID of the catalog entry for which the request is being made.
- requester
Field EndValues User My Requests Requester Field Value[] - The requester input fields required by the approval system. Note: The fields required are determined by the approval system.
- status string
- The status of the request. Possible values include:
APPROVED,CANCELED,DENIED,EXPIRED,PENDING,REJECTED,SUBMITTED
- entry_
id str - The ID of the catalog entry for which the request is being made.
- requester_
field_ Sequence[Endvalues User My Requests Requester Field Value Args] - The requester input fields required by the approval system. Note: The fields required are determined by the approval system.
- status str
- The status of the request. Possible values include:
APPROVED,CANCELED,DENIED,EXPIRED,PENDING,REJECTED,SUBMITTED
- entry
Id String - The ID of the catalog entry for which the request is being made.
- requester
Field List<Property Map>Values - The requester input fields required by the approval system. Note: The fields required are determined by the approval system.
- status String
- The status of the request. Possible values include:
APPROVED,CANCELED,DENIED,EXPIRED,PENDING,REJECTED,SUBMITTED
Supporting Types
EndUserMyRequestsRequesterFieldValue, EndUserMyRequestsRequesterFieldValueArgs
- Id string
- The ID of a requesterField. This identifies the specific field in the approval system.
- Label string
- A human-readable description of requesterField. It's used for display purposes and is optional.
- Type string
- Type of value for the requester field. Valid values:
DURATION,ISO_DATE,MULTISELECT,OKTA_USER_ID,SELECT,TEXT. - Value string
- The value of requesterField, which depends on the type of the field. Used for single-value fields.
- Values List<string>
- The values of requesterField with the type MULTISELECT. If the field type is MULTISELECT, this property is required instead of
value.
- Id string
- The ID of a requesterField. This identifies the specific field in the approval system.
- Label string
- A human-readable description of requesterField. It's used for display purposes and is optional.
- Type string
- Type of value for the requester field. Valid values:
DURATION,ISO_DATE,MULTISELECT,OKTA_USER_ID,SELECT,TEXT. - Value string
- The value of requesterField, which depends on the type of the field. Used for single-value fields.
- Values []string
- The values of requesterField with the type MULTISELECT. If the field type is MULTISELECT, this property is required instead of
value.
- id String
- The ID of a requesterField. This identifies the specific field in the approval system.
- label String
- A human-readable description of requesterField. It's used for display purposes and is optional.
- type String
- Type of value for the requester field. Valid values:
DURATION,ISO_DATE,MULTISELECT,OKTA_USER_ID,SELECT,TEXT. - value String
- The value of requesterField, which depends on the type of the field. Used for single-value fields.
- values List<String>
- The values of requesterField with the type MULTISELECT. If the field type is MULTISELECT, this property is required instead of
value.
- id string
- The ID of a requesterField. This identifies the specific field in the approval system.
- label string
- A human-readable description of requesterField. It's used for display purposes and is optional.
- type string
- Type of value for the requester field. Valid values:
DURATION,ISO_DATE,MULTISELECT,OKTA_USER_ID,SELECT,TEXT. - value string
- The value of requesterField, which depends on the type of the field. Used for single-value fields.
- values string[]
- The values of requesterField with the type MULTISELECT. If the field type is MULTISELECT, this property is required instead of
value.
- id str
- The ID of a requesterField. This identifies the specific field in the approval system.
- label str
- A human-readable description of requesterField. It's used for display purposes and is optional.
- type str
- Type of value for the requester field. Valid values:
DURATION,ISO_DATE,MULTISELECT,OKTA_USER_ID,SELECT,TEXT. - value str
- The value of requesterField, which depends on the type of the field. Used for single-value fields.
- values Sequence[str]
- The values of requesterField with the type MULTISELECT. If the field type is MULTISELECT, this property is required instead of
value.
- id String
- The ID of a requesterField. This identifies the specific field in the approval system.
- label String
- A human-readable description of requesterField. It's used for display purposes and is optional.
- type String
- Type of value for the requester field. Valid values:
DURATION,ISO_DATE,MULTISELECT,OKTA_USER_ID,SELECT,TEXT. - value String
- The value of requesterField, which depends on the type of the field. Used for single-value fields.
- values List<String>
- The values of requesterField with the type MULTISELECT. If the field type is MULTISELECT, this property is required instead of
value.
Import
$ pulumi import okta:index/endUserMyRequests:EndUserMyRequests example <request_id/entry_id>
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- Okta pulumi/pulumi-okta
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
oktaTerraform Provider.
published on Thursday, Mar 12, 2026 by Pulumi
