1. Registry
  2. Packages
  3. incident.io
  4. API Docs
  5. getPayConfig
Viewing docs for incident.io v0.4.1
published on Wednesday, Oct 21, 2026 by incident-io
incident logo incident.io
Viewing docs for incident.io v0.4.1
published on Wednesday, Oct 21, 2026 by incident-io

    Manage on-call pay configs: the rates that pay reports price on-call shifts against.

    Use this data source to look up an existing pay config, either by id or by name, without managing it as an incident.PayConfig resource. Set exactly one of the two lookup attributes; setting both, or neither, is rejected at plan time.

    A lookup sees published configs and drafts created through the API. A draft somebody created in the dashboard is private to them until a report priced against it is published, so it cannot be found here.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as incident from "@incident-io/pulumi";
    
    // Look up an existing pay config by name, such as one created in the dashboard and
    // published in a report.
    const platform = incident.getPayConfig({
        name: "Platform on-call",
    });
    // Or by ID, to reference a config another module manages.
    const flatDaily = incident.getPayConfig({
        id: "01G0J1EXE7AXZ2C93K61WBPYEH",
    });
    export const platformBaseRateCents = platform.then(platform => platform.baseRateCents);
    
    import pulumi
    import pulumi_incident as incident
    
    # Look up an existing pay config by name, such as one created in the dashboard and
    # published in a report.
    platform = incident.get_pay_config(name="Platform on-call")
    # Or by ID, to reference a config another module manages.
    flat_daily = incident.get_pay_config(id="01G0J1EXE7AXZ2C93K61WBPYEH")
    pulumi.export("platformBaseRateCents", platform.base_rate_cents)
    
    package main
    
    import (
    	"github.com/incident-io/pulumi-incident/sdk/go/incident"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		// Look up an existing pay config by name, such as one created in the dashboard and
    		// published in a report.
    		platform, err := incident.GetPayConfig(ctx, &incident.LookupPayConfigArgs{
    			Name: pulumi.StringRef("Platform on-call"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		// Or by ID, to reference a config another module manages.
    		_, err = incident.GetPayConfig(ctx, &incident.LookupPayConfigArgs{
    			Id: pulumi.StringRef("01G0J1EXE7AXZ2C93K61WBPYEH"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		ctx.Export("platformBaseRateCents", platform.BaseRateCents)
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Incident = Pulumi.Incident;
    
    return await Deployment.RunAsync(() => 
    {
        // Look up an existing pay config by name, such as one created in the dashboard and
        // published in a report.
        var platform = Incident.GetPayConfig.Invoke(new()
        {
            Name = "Platform on-call",
        });
    
        // Or by ID, to reference a config another module manages.
        var flatDaily = Incident.GetPayConfig.Invoke(new()
        {
            Id = "01G0J1EXE7AXZ2C93K61WBPYEH",
        });
    
        return new Dictionary<string, object?>
        {
            ["platformBaseRateCents"] = platform.Apply(getPayConfigResult => getPayConfigResult.BaseRateCents),
        };
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.incident.IncidentFunctions;
    import com.pulumi.incident.inputs.GetPayConfigArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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) {
            // Look up an existing pay config by name, such as one created in the dashboard and
            // published in a report.
            final var platform = IncidentFunctions.getPayConfig(GetPayConfigArgs.builder()
                .name("Platform on-call")
                .build());
    
            // Or by ID, to reference a config another module manages.
            final var flatDaily = IncidentFunctions.getPayConfig(GetPayConfigArgs.builder()
                .id("01G0J1EXE7AXZ2C93K61WBPYEH")
                .build());
    
            ctx.export("platformBaseRateCents", platform.baseRateCents());
        }
    }
    
    variables:
      # Look up an existing pay config by name, such as one created in the dashboard and
      # published in a report.
      platform:
        fn::invoke:
          function: incident:getPayConfig
          arguments:
            name: Platform on-call
      # Or by ID, to reference a config another module manages.
      flatDaily:
        fn::invoke:
          function: incident:getPayConfig
          arguments:
            id: 01G0J1EXE7AXZ2C93K61WBPYEH
    outputs:
      platformBaseRateCents: ${platform.baseRateCents}
    
    pulumi {
      required_providers {
        incident = {
          source = "pulumi/incident"
        }
      }
    }
    
    data "incident_getpayconfig" "platform" {
      name = "Platform on-call"
    }
    data "incident_getpayconfig" "flatDaily" {
      id = "01G0J1EXE7AXZ2C93K61WBPYEH"
    }
    
    # Look up an existing pay config by name, such as one created in the dashboard and
    # published in a report.
    # Or by ID, to reference a config another module manages.
    output "platformBaseRateCents" {
      value = data.incident_getpayconfig.platform.base_rate_cents
    }
    

    Using getPayConfig

    Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.

    function getPayConfig(args: GetPayConfigArgs, opts?: InvokeOptions): Promise<GetPayConfigResult>
    function getPayConfigOutput(args: GetPayConfigOutputArgs, opts?: InvokeOutputOptions): Output<GetPayConfigResult>
    def get_pay_config(id: Optional[str] = None,
                       name: Optional[str] = None,
                       opts: Optional[InvokeOptions] = None) -> GetPayConfigResult
    def get_pay_config_output(id: pulumi.Input[Optional[str]] = None,
                       name: pulumi.Input[Optional[str]] = None,
                       opts: Optional[InvokeOutputOptions] = None) -> Output[GetPayConfigResult]
    func LookupPayConfig(ctx *Context, args *LookupPayConfigArgs, opts ...InvokeOption) (*LookupPayConfigResult, error)
    func LookupPayConfigOutput(ctx *Context, args *LookupPayConfigOutputArgs, opts ...InvokeOption) LookupPayConfigResultOutput

    > Note: This function is named LookupPayConfig in the Go SDK.

    public static class GetPayConfig 
    {
        public static Task<GetPayConfigResult> InvokeAsync(GetPayConfigArgs args, InvokeOptions? opts = null)
        public static Output<GetPayConfigResult> Invoke(GetPayConfigInvokeArgs args, InvokeOptions? opts = null)
        public static Output<GetPayConfigResult> Invoke(GetPayConfigInvokeArgs args, InvokeOutputOptions opts)
    }
    public static CompletableFuture<GetPayConfigResult> getPayConfig(GetPayConfigArgs args, InvokeOptions options)
    public static Output<GetPayConfigResult> getPayConfig(GetPayConfigArgs args, InvokeOptions options)
    public static Output<GetPayConfigResult> getPayConfig(GetPayConfigArgs args, InvokeOutputOptions options)
    
    fn::invoke:
      function: incident:index/getPayConfig:getPayConfig
      arguments:
        # arguments dictionary
    data "incident_get_pay_config" "name" {
        # arguments
    }

    The following arguments are supported:

    Id string
    Unique identifier for this pay config
    Name string
    Human readable name for this pay config
    Id string
    Unique identifier for this pay config
    Name string
    Human readable name for this pay config
    id string
    Unique identifier for this pay config
    name string
    Human readable name for this pay config
    id String
    Unique identifier for this pay config
    name String
    Human readable name for this pay config
    id string
    Unique identifier for this pay config
    name string
    Human readable name for this pay config
    id str
    Unique identifier for this pay config
    name str
    Human readable name for this pay config
    id String
    Unique identifier for this pay config
    name String
    Human readable name for this pay config

    getPayConfig Result

    The following output properties are available:

    BaseRateCents int
    Rate paid for any time no rule covers, in the lowest denomination of the currency
    CreatedAt string
    When this pay config was created.
    Currency string
    Currency this config pays in, in ISO 4217 format
    Id string
    Unique identifier for this pay config
    Name string
    Human readable name for this pay config
    OneOffRules List<GetPayConfigOneOffRule>
    Rules that apply over a single window of time, such as a public holiday. These take precedence over the weekly rules.
    PublishedAt string
    When a published report first priced against this config. Once set, editing the config needs the schedulepayconfigs.update_published scope. Null until then.
    RateTimeUnit string
    The unit of time every rate on this config is quoted per. Pay is pro-rated by the second either way. Possible values are: hour, day.
    Timezone string
    IANA timezone this config's rules are interpreted in
    UpdatedAt string
    When this pay config, or one of its rules, was last changed.
    WeeklyRules List<GetPayConfigWeeklyRule>
    Rules that apply every week, by day of week and time of day, in evaluation order. The first rule that covers a shift prices it.
    BaseRateCents int
    Rate paid for any time no rule covers, in the lowest denomination of the currency
    CreatedAt string
    When this pay config was created.
    Currency string
    Currency this config pays in, in ISO 4217 format
    Id string
    Unique identifier for this pay config
    Name string
    Human readable name for this pay config
    OneOffRules []GetPayConfigOneOffRule
    Rules that apply over a single window of time, such as a public holiday. These take precedence over the weekly rules.
    PublishedAt string
    When a published report first priced against this config. Once set, editing the config needs the schedulepayconfigs.update_published scope. Null until then.
    RateTimeUnit string
    The unit of time every rate on this config is quoted per. Pay is pro-rated by the second either way. Possible values are: hour, day.
    Timezone string
    IANA timezone this config's rules are interpreted in
    UpdatedAt string
    When this pay config, or one of its rules, was last changed.
    WeeklyRules []GetPayConfigWeeklyRule
    Rules that apply every week, by day of week and time of day, in evaluation order. The first rule that covers a shift prices it.
    base_rate_cents number
    Rate paid for any time no rule covers, in the lowest denomination of the currency
    created_at string
    When this pay config was created.
    currency string
    Currency this config pays in, in ISO 4217 format
    id string
    Unique identifier for this pay config
    name string
    Human readable name for this pay config
    one_off_rules list(object)
    Rules that apply over a single window of time, such as a public holiday. These take precedence over the weekly rules.
    published_at string
    When a published report first priced against this config. Once set, editing the config needs the schedulepayconfigs.update_published scope. Null until then.
    rate_time_unit string
    The unit of time every rate on this config is quoted per. Pay is pro-rated by the second either way. Possible values are: hour, day.
    timezone string
    IANA timezone this config's rules are interpreted in
    updated_at string
    When this pay config, or one of its rules, was last changed.
    weekly_rules list(object)
    Rules that apply every week, by day of week and time of day, in evaluation order. The first rule that covers a shift prices it.
    baseRateCents Integer
    Rate paid for any time no rule covers, in the lowest denomination of the currency
    createdAt String
    When this pay config was created.
    currency String
    Currency this config pays in, in ISO 4217 format
    id String
    Unique identifier for this pay config
    name String
    Human readable name for this pay config
    oneOffRules List<GetPayConfigOneOffRule>
    Rules that apply over a single window of time, such as a public holiday. These take precedence over the weekly rules.
    publishedAt String
    When a published report first priced against this config. Once set, editing the config needs the schedulepayconfigs.update_published scope. Null until then.
    rateTimeUnit String
    The unit of time every rate on this config is quoted per. Pay is pro-rated by the second either way. Possible values are: hour, day.
    timezone String
    IANA timezone this config's rules are interpreted in
    updatedAt String
    When this pay config, or one of its rules, was last changed.
    weeklyRules List<GetPayConfigWeeklyRule>
    Rules that apply every week, by day of week and time of day, in evaluation order. The first rule that covers a shift prices it.
    baseRateCents number
    Rate paid for any time no rule covers, in the lowest denomination of the currency
    createdAt string
    When this pay config was created.
    currency string
    Currency this config pays in, in ISO 4217 format
    id string
    Unique identifier for this pay config
    name string
    Human readable name for this pay config
    oneOffRules GetPayConfigOneOffRule[]
    Rules that apply over a single window of time, such as a public holiday. These take precedence over the weekly rules.
    publishedAt string
    When a published report first priced against this config. Once set, editing the config needs the schedulepayconfigs.update_published scope. Null until then.
    rateTimeUnit string
    The unit of time every rate on this config is quoted per. Pay is pro-rated by the second either way. Possible values are: hour, day.
    timezone string
    IANA timezone this config's rules are interpreted in
    updatedAt string
    When this pay config, or one of its rules, was last changed.
    weeklyRules GetPayConfigWeeklyRule[]
    Rules that apply every week, by day of week and time of day, in evaluation order. The first rule that covers a shift prices it.
    base_rate_cents int
    Rate paid for any time no rule covers, in the lowest denomination of the currency
    created_at str
    When this pay config was created.
    currency str
    Currency this config pays in, in ISO 4217 format
    id str
    Unique identifier for this pay config
    name str
    Human readable name for this pay config
    one_off_rules Sequence[GetPayConfigOneOffRule]
    Rules that apply over a single window of time, such as a public holiday. These take precedence over the weekly rules.
    published_at str
    When a published report first priced against this config. Once set, editing the config needs the schedulepayconfigs.update_published scope. Null until then.
    rate_time_unit str
    The unit of time every rate on this config is quoted per. Pay is pro-rated by the second either way. Possible values are: hour, day.
    timezone str
    IANA timezone this config's rules are interpreted in
    updated_at str
    When this pay config, or one of its rules, was last changed.
    weekly_rules Sequence[GetPayConfigWeeklyRule]
    Rules that apply every week, by day of week and time of day, in evaluation order. The first rule that covers a shift prices it.
    baseRateCents Number
    Rate paid for any time no rule covers, in the lowest denomination of the currency
    createdAt String
    When this pay config was created.
    currency String
    Currency this config pays in, in ISO 4217 format
    id String
    Unique identifier for this pay config
    name String
    Human readable name for this pay config
    oneOffRules List<Property Map>
    Rules that apply over a single window of time, such as a public holiday. These take precedence over the weekly rules.
    publishedAt String
    When a published report first priced against this config. Once set, editing the config needs the schedulepayconfigs.update_published scope. Null until then.
    rateTimeUnit String
    The unit of time every rate on this config is quoted per. Pay is pro-rated by the second either way. Possible values are: hour, day.
    timezone String
    IANA timezone this config's rules are interpreted in
    updatedAt String
    When this pay config, or one of its rules, was last changed.
    weeklyRules List<Property Map>
    Rules that apply every week, by day of week and time of day, in evaluation order. The first rule that covers a shift prices it.

    Supporting Types

    GetPayConfigOneOffRule

    EndAt string
    When this rule stops applying
    Id string
    Unique identifier for this rule, stable across edits to the config
    Name string
    Human readable name for this rule
    RateCents int
    Rate paid while this rule applies, in the lowest denomination of the config's currency
    StartAt string
    When this rule starts applying
    EndAt string
    When this rule stops applying
    Id string
    Unique identifier for this rule, stable across edits to the config
    Name string
    Human readable name for this rule
    RateCents int
    Rate paid while this rule applies, in the lowest denomination of the config's currency
    StartAt string
    When this rule starts applying
    end_at string
    When this rule stops applying
    id string
    Unique identifier for this rule, stable across edits to the config
    name string
    Human readable name for this rule
    rate_cents number
    Rate paid while this rule applies, in the lowest denomination of the config's currency
    start_at string
    When this rule starts applying
    endAt String
    When this rule stops applying
    id String
    Unique identifier for this rule, stable across edits to the config
    name String
    Human readable name for this rule
    rateCents Integer
    Rate paid while this rule applies, in the lowest denomination of the config's currency
    startAt String
    When this rule starts applying
    endAt string
    When this rule stops applying
    id string
    Unique identifier for this rule, stable across edits to the config
    name string
    Human readable name for this rule
    rateCents number
    Rate paid while this rule applies, in the lowest denomination of the config's currency
    startAt string
    When this rule starts applying
    end_at str
    When this rule stops applying
    id str
    Unique identifier for this rule, stable across edits to the config
    name str
    Human readable name for this rule
    rate_cents int
    Rate paid while this rule applies, in the lowest denomination of the config's currency
    start_at str
    When this rule starts applying
    endAt String
    When this rule stops applying
    id String
    Unique identifier for this rule, stable across edits to the config
    name String
    Human readable name for this rule
    rateCents Number
    Rate paid while this rule applies, in the lowest denomination of the config's currency
    startAt String
    When this rule starts applying

    GetPayConfigWeeklyRule

    EndTime string
    Time of day this rule ends, in 24 hour format. Equal to startTime means it runs for the whole day. Written as HH:MM.
    Id string
    Unique identifier for this rule, stable across edits to the config
    RateCents int
    Rate paid while this rule applies, in the lowest denomination of the config's currency
    StartTime string
    Time of day this rule starts, in 24 hour format, as HH:MM.
    Weekdays List<string>
    Days of the week this rule applies on. Possible values are: monday, tuesday, wednesday, thursday, friday, saturday, sunday.
    EndTime string
    Time of day this rule ends, in 24 hour format. Equal to startTime means it runs for the whole day. Written as HH:MM.
    Id string
    Unique identifier for this rule, stable across edits to the config
    RateCents int
    Rate paid while this rule applies, in the lowest denomination of the config's currency
    StartTime string
    Time of day this rule starts, in 24 hour format, as HH:MM.
    Weekdays []string
    Days of the week this rule applies on. Possible values are: monday, tuesday, wednesday, thursday, friday, saturday, sunday.
    end_time string
    Time of day this rule ends, in 24 hour format. Equal to startTime means it runs for the whole day. Written as HH:MM.
    id string
    Unique identifier for this rule, stable across edits to the config
    rate_cents number
    Rate paid while this rule applies, in the lowest denomination of the config's currency
    start_time string
    Time of day this rule starts, in 24 hour format, as HH:MM.
    weekdays list(string)
    Days of the week this rule applies on. Possible values are: monday, tuesday, wednesday, thursday, friday, saturday, sunday.
    endTime String
    Time of day this rule ends, in 24 hour format. Equal to startTime means it runs for the whole day. Written as HH:MM.
    id String
    Unique identifier for this rule, stable across edits to the config
    rateCents Integer
    Rate paid while this rule applies, in the lowest denomination of the config's currency
    startTime String
    Time of day this rule starts, in 24 hour format, as HH:MM.
    weekdays List<String>
    Days of the week this rule applies on. Possible values are: monday, tuesday, wednesday, thursday, friday, saturday, sunday.
    endTime string
    Time of day this rule ends, in 24 hour format. Equal to startTime means it runs for the whole day. Written as HH:MM.
    id string
    Unique identifier for this rule, stable across edits to the config
    rateCents number
    Rate paid while this rule applies, in the lowest denomination of the config's currency
    startTime string
    Time of day this rule starts, in 24 hour format, as HH:MM.
    weekdays string[]
    Days of the week this rule applies on. Possible values are: monday, tuesday, wednesday, thursday, friday, saturday, sunday.
    end_time str
    Time of day this rule ends, in 24 hour format. Equal to startTime means it runs for the whole day. Written as HH:MM.
    id str
    Unique identifier for this rule, stable across edits to the config
    rate_cents int
    Rate paid while this rule applies, in the lowest denomination of the config's currency
    start_time str
    Time of day this rule starts, in 24 hour format, as HH:MM.
    weekdays Sequence[str]
    Days of the week this rule applies on. Possible values are: monday, tuesday, wednesday, thursday, friday, saturday, sunday.
    endTime String
    Time of day this rule ends, in 24 hour format. Equal to startTime means it runs for the whole day. Written as HH:MM.
    id String
    Unique identifier for this rule, stable across edits to the config
    rateCents Number
    Rate paid while this rule applies, in the lowest denomination of the config's currency
    startTime String
    Time of day this rule starts, in 24 hour format, as HH:MM.
    weekdays List<String>
    Days of the week this rule applies on. Possible values are: monday, tuesday, wednesday, thursday, friday, saturday, sunday.

    Package Details

    Repository
    incident incident-io/pulumi-incident
    License
    MIT
    Notes
    This Pulumi package is based on the incident Terraform Provider.
    incident logo incident.io
    Viewing docs for incident.io v0.4.1
    published on Wednesday, Oct 21, 2026 by incident-io

      Try Pulumi Cloud free.
      Your team will thank you.

      Start free trial