@heroku-cli/schema
Version:
<!-- toc --> # Usage <!-- usage --> # Commands <!-- commands -->
2,501 lines (2,498 loc) • 103 kB
TypeScript
/* This file was automatically generated by json-schema-to-typescript. */
/**
* the entities that the subscription provides notifications for
*/
export type Include = string[]
/**
* provider actions for this specific add-on
*/
export type Actions = {
[k: string]: unknown
/**
* identifier of the action to take that is sent via SSO
*/
action?: string
/**
* a unique identifier
*/
id?: string
/**
* the display text shown in Dashboard
*/
label?: string
/**
* if the action requires the user to own the app
*/
requires_owner?: boolean
/**
* absolute URL to use instead of an action
*/
url?: string
} & {
[k: string]: unknown
}[]
/**
* config vars exposed to the owning app by this add-on
*/
export type AddonConfigVars = string[]
/**
* the compliance regimes applied to an add-on plan
*/
export type Compliance = ('HIPAA' | 'PCI')[] | null
/**
* errors associated with invalid app.json manifest file
*/
export type ManifestErrors = string[]
/**
* result of postdeploy script
*/
export type Postdeploy = {
[k: string]: unknown
/**
* The exit code of the postdeploy script
*/
exit_code?: number
/**
* output of the postdeploy script
*/
output?: string
} & ({
[k: string]: unknown
/**
* The exit code of the postdeploy script
*/
exit_code?: number
/**
* output of the postdeploy script
*/
output?: string
} | null)
/**
* buildpacks executed for this build, in order
*/
export type Buildpacks =
| {
[k: string]: unknown
/**
* Buildpack Registry name of the buildpack for the app
*/
name?: string
/**
* the URL of the buildpack for the app
*/
url?: string
}[]
| null
/**
* release resulting from the build
*/
export type BuildRelease = {
[k: string]: unknown
/**
* unique identifier of release
*/
id?: string
} & ({
[k: string]: unknown
/**
* unique identifier of release
*/
id?: string
} | null)
/**
* price information for this dyno size
*/
export type Cost = {
[k: string]: unknown
} | null
/**
* enterprise account permissions
*/
export type ExpandedPermissions = {
[k: string]: unknown
description?: string
/**
* permission in the enterprise account
*/
name?: 'billing' | 'create' | 'manage' | 'view'
}[]
/**
* Identity Provider information the member is federated with
*/
export type MemberIdentityProvider = {
[k: string]: unknown
/**
* unique identifier of this identity provider
*/
id?: string
/**
* name of the identity provider
*/
name?: string
owner?: Owner
/**
* whether the identity_provider information is redacted or not
*/
redacted?: boolean
} & ({
[k: string]: unknown
/**
* unique identifier of this identity provider
*/
id?: string
/**
* name of the identity provider
*/
name?: string
owner?: Owner
/**
* whether the identity_provider information is redacted or not
*/
redacted?: boolean
} | null)
/**
* the current user's permissions for this enterprise account
*/
export type Permissions = string[]
/**
* Identity Provider associated with the Enterprise Account
*/
export type IdentityProvider1 = {
[k: string]: unknown
/**
* unique identifier of this identity provider
*/
id?: string
/**
* user-friendly unique identifier for this identity provider
*/
name?: string
owner?: Owner
} & ({
[k: string]: unknown
/**
* unique identifier of this identity provider
*/
id?: string
/**
* user-friendly unique identifier for this identity provider
*/
name?: string
owner?: Owner
} | null)
/**
* add-on that created the drain
*/
export type Addon = {
[k: string]: unknown
/**
* billing application associated with this add-on
*/
app?: {
[k: string]: unknown
/**
* unique identifier of app
*/
id?: string
/**
* unique name of app
*/
name?: string
}
/**
* unique identifier of add-on
*/
id?: string
/**
* globally unique name of the add-on
*/
name?: string
} & ({
[k: string]: unknown
/**
* billing application associated with this add-on
*/
app?: {
[k: string]: unknown
/**
* unique identifier of app
*/
id?: string
/**
* unique name of app
*/
name?: string
}
/**
* unique identifier of add-on
*/
id?: string
/**
* globally unique name of the add-on
*/
name?: string
} | null)
/**
* application that is attached to this drain
*/
export type App1 = {
[k: string]: unknown
/**
* unique identifier of app
*/
id?: string
/**
* unique name of app
*/
name?: string
} & ({
[k: string]: unknown
/**
* unique identifier of app
*/
id?: string
/**
* unique name of app
*/
name?: string
} | null)
/**
* The scope of access OAuth authorization allows
*/
export type Scope = string[]
/**
* Owner of a pipeline.
*/
export type Owner2 = {
[k: string]: unknown
/**
* unique identifier of a pipeline owner
*/
id: string
/**
* type of pipeline owner
*/
type: string
} & ({
[k: string]: unknown
/**
* unique identifier of a pipeline owner
*/
id: string
/**
* type of pipeline owner
*/
type: string
} | null)
/**
* the deploy target for the review apps of a pipeline
*/
export type DeployTarget = {
[k: string]: unknown
/**
* unique identifier of deploy target
*/
id: string
/**
* type of deploy target
*/
type: string
} & ({
[k: string]: unknown
/**
* unique identifier of deploy target
*/
id: string
/**
* type of deploy target
*/
type: string
} | null)
/**
* domains associated with this SSL certificate
*/
export type Domains = string[]
export type CertDomains = unknown[]
/**
* potential IPs from which outbound network traffic will originate
*/
export type Sources = string[]
export type EnterpriseAccount1 = {
[k: string]: unknown
/**
* unique identifier of the enterprise account
*/
id?: string
/**
* unique name of the enterprise account
*/
name?: string
} & ({
[k: string]: unknown
/**
* unique identifier of the enterprise account
*/
id?: string
/**
* unique name of the enterprise account
*/
name?: string
} | null)
/**
* Identity Provider associated with the Team
*/
export type IdentityProvider2 = {
[k: string]: unknown
/**
* unique identifier of this identity provider
*/
id?: string
/**
* user-friendly unique identifier for this identity provider
*/
name?: string
owner?: Owner
} & ({
[k: string]: unknown
/**
* unique identifier of this identity provider
*/
id?: string
/**
* user-friendly unique identifier for this identity provider
*/
name?: string
owner?: Owner
} | null)
/**
* Which pipeline uuids the user has dismissed the GitHub banner for
*/
export type DismissedPipelinesGithubBanners = null | string[]
/**
* Routable CIDRs of VPN
*/
export type RoutableCidrs = string[]
/**
* The platform API empowers developers to automate, extend and combine Heroku with other services.
*/
export interface HerokuPlatformAPI {
[k: string]: unknown
account?: Account
'account-delinquency'?: AccountDelinquency
'account-feature'?: AccountFeature
'add-on'?: AddOn
'add-on-action'?: AddOnAction
'add-on-attachment'?: AddOnAttachment
'add-on-config'?: AddOnConfig
'add-on-plan-action'?: AddOnPlanAction
'add-on-region-capability'?: AddOnRegionCapability
'add-on-service'?: AddOnService
'add-on-webhook'?: AddOnWebhook
'add-on-webhook-delivery'?: AddOnWebhookDelivery
'add-on-webhook-event'?: AddOnWebhookEvent
'allowed-add-on-service'?: AllowedAddOnService
app?: App
'app-feature'?: AppFeature
'app-setup'?: AppSetup
'app-transfer'?: AppTransfer
'app-webhook'?: AppWebhook
'app-webhook-delivery'?: AppWebhookDelivery
'app-webhook-event'?: AppWebhookEvent
archive?: AuditTrailArchive
'audit-trail-event'?: AuditTrailEvent
build?: Build
'buildpack-installation'?: BuildpackInstallations
collaborator?: Collaborator
'config-var'?: ConfigVars
credit?: Credit
domain?: Domain
dyno?: Dyno
'dyno-size'?: DynoSize
'enterprise-account'?: EnterpriseAccount
'enterprise-account-daily-usage'?: EnterpriseAccountDailyUsage
'enterprise-account-member'?: EnterpriseAccountMember
'enterprise-account-monthly-usage'?: EnterpriseAccountMonthlyUsage
'filter-apps'?: Filters
formation?: Formation
'identity-provider'?: IdentityProvider
'inbound-ruleset'?: InboundRuleset
invoice?: Invoice
'invoice-address'?: InvoiceAddress
key?: Key
'log-drain'?: LogDrain
'log-session'?: LogSession
'oauth-authorization'?: OAuthAuthorization
'oauth-client'?: OAuthClient
'oauth-grant'?: OAuthGrant
'oauth-token'?: OAuthToken
'password-reset'?: PasswordReset
peering?: Peering
'peering-info'?: PeeringInfo
'permission-entity'?: PermissionEntity
pipeline?: Pipeline
'pipeline-build'?: PipelineBuild
'pipeline-config-var'?: PipelineConfigVars
'pipeline-coupling'?: PipelineCoupling
'pipeline-deployment'?: PipelineDeployment
'pipeline-promotion'?: PipelinePromotion
'pipeline-promotion-target'?: PipelinePromotionTarget
'pipeline-release'?: PipelineRelease
'pipeline-stack'?: PipelineStack
'pipeline-transfer'?: PipelineTransfer
plan?: Plan
'rate-limit'?: RateLimit
region?: Region
release?: Release
'review-app'?: ReviewApp
'review-app-config'?: ReviewAppConfiguration
slug?: Slug
'sms-number'?: SMSNumber
'sni-endpoint'?: SNIEndpoint
source?: Source
space?: Space
'space-app-access'?: SpaceAccess
'space-nat'?: SpaceNetworkAddressTranslation
'space-topology'?: SpaceTopology
'space-transfer'?: SpaceTransfer
stack?: Stack
team?: Team
'team-add-on'?: TeamAddOn
'team-app'?: TeamApp
'team-app-collaborator'?: TeamAppCollaborator
'team-app-permission'?: TeamAppPermission
'team-daily-usage'?: TeamDailyUsage
'team-delinquency'?: TeamDelinquency
'team-feature'?: TeamFeature
'team-invitation'?: TeamInvitation
'team-invoice'?: TeamInvoice
'team-member'?: TeamMember
'team-monthly-usage'?: TeamMonthlyUsage
'team-preferences'?: TeamPreferences
'team-space'?: TeamSpace
'test-case'?: TestCase
'test-node'?: TestNode
'test-run'?: TestRun
'user-preferences'?: UserPreferences
'vpn-connection'?: PrivateSpacesVPN
}
/**
* A Heroku account becomes delinquent due to non-payment. We [suspend and delete](https://help.heroku.com/EREVRILX/what-happens-if-i-have-unpaid-heroku-invoices) delinquent accounts if their invoices remain unpaid.
*/
export interface AccountDelinquency {
[k: string]: unknown
/**
* scheduled time of when we will delete your account due to delinquency
*/
scheduled_deletion_time?: null | string
/**
* scheduled time of when we will suspend your account due to delinquency
*/
scheduled_suspension_time?: null | string
}
/**
* An account feature represents a Heroku labs capability that can be enabled or disabled for an account on Heroku.
*/
export interface AccountFeature {
[k: string]: unknown
/**
* when account feature was created
*/
created_at?: string
/**
* description of account feature
*/
description?: string
/**
* user readable feature name
*/
display_name?: string
/**
* documentation URL of account feature
*/
doc_url?: string
/**
* whether or not account feature has been enabled
*/
enabled?: boolean
/**
* e-mail to send feedback about the feature
*/
feedback_email?: string
/**
* unique identifier of account feature
*/
id?: string
/**
* unique name of account feature
*/
name?: string
/**
* state of account feature
*/
state?: string
/**
* when account feature was updated
*/
updated_at?: string
}
/**
* An account represents an individual signed up to use the Heroku platform.
*/
export interface Account {
[k: string]: unknown
/**
* whether to allow third party web activity tracking
*/
allow_tracking?: boolean
/**
* whether allowed to utilize beta Heroku features
*/
beta?: boolean
/**
* country where account owner resides
*/
country_of_residence?: null | string
/**
* when account was created
*/
created_at?: string
/**
* team selected by default
*/
default_organization?: {
[k: string]: unknown
/**
* unique identifier of team
*/
id?: string
/**
* unique name of team
*/
name?: string
} | null
/**
* team selected by default
*/
default_team?: {
[k: string]: unknown
/**
* unique identifier of team
*/
id?: string
/**
* unique name of team
*/
name?: string
} | null
/**
* when account became delinquent
*/
delinquent_at?: null | string
/**
* unique email address of account
*/
email?: string
/**
* whether the user is federated and belongs to an Identity Provider
*/
federated?: boolean
/**
* unique identifier of an account
*/
id?: string
/**
* Identity Provider details for federated users.
*/
identity_provider?: {
[k: string]: unknown
/**
* unique identifier of this identity provider
*/
id?: string
/**
* user-friendly unique identifier for this identity provider
*/
name?: string
organization?: {
[k: string]: unknown
/**
* unique name of team
*/
name?: string
}
owner?: Owner
team?: {
[k: string]: unknown
/**
* unique name of team
*/
name?: string
}
} | null
/**
* when account last authorized with Heroku
*/
last_login?: null | string
/**
* full name of the account owner
*/
name?: null | string
/**
* SMS number of account
*/
sms_number?: null | string
/**
* when account was suspended
*/
suspended_at?: null | string
/**
* whether two-factor auth is enabled on the account
*/
two_factor_authentication?: boolean
/**
* when account was updated
*/
updated_at?: string
/**
* whether account has been verified with billing information
*/
verified?: boolean
}
/**
* entity that owns this identity provider
*/
export interface Owner {
[k: string]: unknown
/**
* unique identifier of the owner
*/
id: string
/**
* name of the owner
*/
name?: string
/**
* type of the owner
*/
type: 'enterprise-account' | 'team'
}
/**
* Add-on Actions are lifecycle operations for add-on provisioning and deprovisioning. They allow add-on providers to (de)provision add-ons in the background and then report back when (de)provisioning is complete.
*/
export interface AddOnAction {
[k: string]: unknown
}
/**
* An add-on attachment represents a connection between an app and an add-on that it has been given access to.
*/
export interface AddOnAttachment {
[k: string]: unknown
/**
* identity of add-on
*/
addon?: {
/**
* billing application associated with this add-on
*/
app: {
[k: string]: unknown
/**
* unique identifier of app
*/
id?: string
/**
* unique name of app
*/
name?: string
}
/**
* unique identifier of add-on
*/
id: string
/**
* globally unique name of the add-on
*/
name: string
}
/**
* application that is attached to add-on
*/
app?: {
[k: string]: unknown
/**
* unique identifier of app
*/
id?: string
/**
* unique name of app
*/
name?: string
}
/**
* when add-on attachment was created
*/
created_at?: string
/**
* unique identifier of this add-on attachment
*/
id?: string
/**
* URL for add-on partners to write to an add-on's logs
*/
log_input_url?: null | string
/**
* unique name for this add-on attachment to this app
*/
name?: string
/**
* attachment namespace
*/
namespace?: null | string
/**
* when add-on attachment was updated
*/
updated_at?: string
/**
* URL for logging into web interface of add-on in attached app context
*/
web_url?: null | string
}
/**
* Configuration of an Add-on
*/
export interface AddOnConfig {
[k: string]: unknown
/**
* unique name of the config
*/
name?: string
/**
* value of the config
*/
value?: null | string
}
/**
* Add-on Plan Actions are Provider functionality for specific add-on installations
*/
export interface AddOnPlanAction {
[k: string]: unknown
/**
* identifier of the action to take that is sent via SSO
*/
action?: string
/**
* a unique identifier
*/
id?: string
/**
* the display text shown in Dashboard
*/
label?: string
/**
* if the action requires the user to own the app
*/
requires_owner?: boolean
/**
* absolute URL to use instead of an action
*/
url?: string
}
/**
* Add-on region capabilities represent the relationship between an Add-on Service and a specific Region. Only Beta and GA add-ons are returned by these endpoints.
*/
export interface AddOnRegionCapability {
[k: string]: unknown
addon_service?: AddOnService
/**
* unique identifier of this add-on-region-capability
*/
id?: string
region?: Region
/**
* whether the add-on can be installed to a Space
*/
supports_private_networking?: boolean
}
/**
* Add-on services represent add-ons that may be provisioned for apps. Endpoints under add-on services can be accessed without authentication.
*/
export interface AddOnService {
[k: string]: unknown
/**
* npm package name of the add-on service's Heroku CLI plugin
*/
cli_plugin_name?: null | string
/**
* when add-on-service was created
*/
created_at?: string
/**
* human-readable name of the add-on service provider
*/
human_name?: string
/**
* unique identifier of this add-on-service
*/
id?: string
/**
* unique name of this add-on-service
*/
name?: string
/**
* release status for add-on service
*/
state?: 'alpha' | 'beta' | 'ga' | 'shutdown'
/**
* whether or not apps can have access to more than one instance of this add-on at the same time
*/
supports_multiple_installations?: boolean
/**
* whether or not apps can have access to add-ons billed to a different app
*/
supports_sharing?: boolean
/**
* when add-on-service was updated
*/
updated_at?: string
}
/**
* A region represents a geographic location in which your application may run.
*/
export interface Region {
[k: string]: unknown
/**
* country where the region exists
*/
country?: string
/**
* when region was created
*/
created_at?: string
/**
* description of region
*/
description?: string
/**
* unique identifier of region
*/
id?: string
/**
* area in the country where the region exists
*/
locale?: string
/**
* unique name of region
*/
name?: string
/**
* whether or not region is available for creating a Private Space
*/
private_capable?: boolean
provider?: Provider
/**
* when region was updated
*/
updated_at?: string
}
/**
* provider of underlying substrate
*/
export interface Provider {
[k: string]: unknown
/**
* name of provider
*/
name?: string
/**
* region name used by provider
*/
region?:
| 'ap-northeast-1'
| 'ap-northeast-2'
| 'ap-south-1'
| 'ap-southeast-1'
| 'ap-southeast-2'
| 'ca-central-1'
| 'eu-central-1'
| 'eu-west-1'
| 'eu-west-2'
| 'sa-east-1'
| 'us-east-1'
| 'us-west-1'
| 'us-west-2'
}
/**
* Represents the delivery of a webhook notification, including its current status.
*/
export interface AddOnWebhookDelivery {
[k: string]: unknown
}
/**
* Represents a webhook event that occurred.
*/
export interface AddOnWebhookEvent {
[k: string]: unknown
}
/**
* Represents the details of a webhook subscription
*/
export interface AddOnWebhook {
/**
* when the webhook was created
*/
created_at: string
/**
* the webhook's unique identifier
*/
id: string
include: Include
/**
* if `notify`, Heroku makes a single, fire-and-forget delivery attempt. If `sync`, Heroku attempts multiple deliveries until the request is successful or a limit is reached
*/
level: 'notify' | 'sync'
/**
* when the webhook was updated
*/
updated_at: string
/**
* the URL where the webhook's notification requests are sent
*/
url: string
}
/**
* Add-ons represent add-ons that have been provisioned and attached to one or more apps.
*/
export interface AddOn {
actions: Actions
/**
* identity of add-on service
*/
addon_service:
| {
[k: string]: unknown
/**
* unique identifier of this add-on-service
*/
id?: string
/**
* unique name of this add-on-service
*/
name?: string
}
| AddOnService
/**
* billing application associated with this add-on
*/
app: {
[k: string]: unknown
/**
* unique identifier of app
*/
id?: string
/**
* unique name of app
*/
name?: string
}
/**
* billed price
*/
billed_price: {
[k: string]: unknown
/**
* price in cents per unit of plan
*/
cents?: number
/**
* price is negotiated in a contract outside of monthly add-on billing
*/
contract?: boolean
/**
* unit of price for plan
*/
unit?: string
} | null
/**
* billing entity associated with this add-on
*/
billing_entity: {
[k: string]: unknown
/**
* unique identifier of the billing entity
*/
id?: string
/**
* name of the billing entity
*/
name?: string
/**
* type of Object of the billing entity; new types allowed at any time.
*/
type?: 'app' | 'team'
}
config_vars: AddonConfigVars
/**
* when add-on was created
*/
created_at: string
/**
* unique identifier of add-on
*/
id: string
/**
* globally unique name of the add-on
*/
name: string
/**
* identity of add-on plan
*/
plan:
| {
[k: string]: unknown
/**
* unique identifier of this plan
*/
id?: string
/**
* unique name of this plan
*/
name?: string
}
| Plan
/**
* id of this add-on with its provider
*/
provider_id: string
/**
* A provision message
*/
provision_message?: string
/**
* state in the add-on's lifecycle
*/
state: 'deprovisioned' | 'provisioned' | 'provisioning'
/**
* when add-on was updated
*/
updated_at: string
/**
* URL for logging into web interface of add-on (e.g. a dashboard)
*/
web_url: null | string
}
/**
* Plans represent different configurations of add-ons that may be added to apps. Endpoints under add-on services can be accessed without authentication.
*/
export interface Plan {
[k: string]: unknown
/**
* identity of add-on service
*/
addon_service?: {
[k: string]: unknown
/**
* unique identifier of this add-on-service
*/
id?: string
/**
* unique name of this add-on-service
*/
name?: string
}
compliance?: Compliance
/**
* when plan was created
*/
created_at?: string
/**
* whether this plan is the default for its add-on service
*/
default?: boolean
/**
* description of plan
*/
description?: string
/**
* human readable name of the add-on plan
*/
human_name?: string
/**
* unique identifier of this plan
*/
id?: string
/**
* whether this plan is installable to a Private Spaces app
*/
installable_inside_private_network?: boolean
/**
* whether this plan is installable to a Common Runtime app
*/
installable_outside_private_network?: boolean
/**
* unique name of this plan
*/
name?: string
/**
* price
*/
price?: {
[k: string]: unknown
/**
* price in cents per unit of plan
*/
cents?: number
/**
* price is negotiated in a contract outside of monthly add-on billing
*/
contract?: boolean
/**
* unit of price for plan
*/
unit?: string
}
/**
* whether this plan is the default for apps in Private Spaces
*/
space_default?: boolean
/**
* release status for plan
*/
state?: string
/**
* when plan was updated
*/
updated_at?: string
/**
* whether this plan is publicly visible
*/
visible?: boolean
}
/**
* Entities that have been allowed to be used by a Team
*/
export interface AllowedAddOnService {
[k: string]: unknown
/**
* when the add-on service was allowed
*/
added_at?: string
added_by?: AddedBy
addon_service?: AddonService
/**
* unique identifier for this allowed add-on service record
*/
id?: string
}
/**
* the user which allowed the add-on service
*/
export interface AddedBy {
[k: string]: unknown
/**
* unique email address of account
*/
email?: string
/**
* unique identifier of an account
*/
id?: string
}
/**
* the add-on service allowed for use
*/
export interface AddonService {
[k: string]: unknown
/**
* human-readable name of the add-on service provider
*/
human_name?: string
/**
* unique identifier of this add-on-service
*/
id?: string
/**
* unique name of this add-on-service
*/
name?: string
}
/**
* An app feature represents a Heroku labs capability that can be enabled or disabled for an app on Heroku.
*/
export interface AppFeature {
[k: string]: unknown
/**
* when app feature was created
*/
created_at?: string
/**
* description of app feature
*/
description?: string
/**
* user readable feature name
*/
display_name?: string
/**
* documentation URL of app feature
*/
doc_url?: string
/**
* whether or not app feature has been enabled
*/
enabled?: boolean
/**
* e-mail to send feedback about the feature
*/
feedback_email?: string
/**
* unique identifier of app feature
*/
id?: string
/**
* unique name of app feature
*/
name?: string
/**
* state of app feature
*/
state?: string
/**
* when app feature was updated
*/
updated_at?: string
}
/**
* An app setup represents an app on Heroku that is setup using an environment, addons, and scripts described in an app.json manifest file.
*/
export interface AppSetup {
[k: string]: unknown
/**
* identity of app
*/
app?: {
[k: string]: unknown
/**
* unique identifier of app
*/
id?: string
/**
* unique name of app
*/
name?: string
}
/**
* identity and status of build
*/
build?: {
[k: string]: unknown
/**
* unique identifier of build
*/
id?: string
/**
* Build process output will be available from this URL as a stream. The stream is available as either `text/plain` or `text/event-stream`. Clients should be prepared to handle disconnects and can resume the stream by sending a `Range` header (for `text/plain`) or a `Last-Event-Id` header (for `text/event-stream`).
*/
output_stream_url?: string
/**
* status of build
*/
status?: 'failed' | 'pending' | 'succeeded'
} | null
/**
* when app setup was created
*/
created_at?: string
/**
* reason that app setup has failed
*/
failure_message?: null | string
/**
* unique identifier of app setup
*/
id?: string
manifest_errors?: ManifestErrors
postdeploy?: Postdeploy
/**
* fully qualified success url
*/
resolved_success_url?: null | string
/**
* the overall status of app setup
*/
status?: 'failed' | 'pending' | 'succeeded'
/**
* when app setup was updated
*/
updated_at?: string
}
/**
* An app transfer represents a two party interaction for transferring ownership of an app.
*/
export interface AppTransfer {
[k: string]: unknown
/**
* app involved in the transfer
*/
app?: {
[k: string]: unknown
/**
* unique identifier of app
*/
id?: string
/**
* unique name of app
*/
name?: string
}
/**
* when app transfer was created
*/
created_at?: string
/**
* unique identifier of app transfer
*/
id?: string
/**
* identity of the owner of the transfer
*/
owner?: {
[k: string]: unknown
/**
* unique email address of account
*/
email?: string
/**
* unique identifier of an account
*/
id?: string
}
/**
* identity of the recipient of the transfer
*/
recipient?: {
[k: string]: unknown
/**
* unique email address of account
*/
email?: string
/**
* unique identifier of an account
*/
id?: string
}
/**
* the current state of an app transfer
*/
state?: 'accepted' | 'declined' | 'pending'
/**
* when app transfer was updated
*/
updated_at?: string
}
/**
* Represents the delivery of a webhook notification, including its current status.
*/
export interface AppWebhookDelivery {
[k: string]: unknown
/**
* when the delivery was created
*/
created_at?: string
/**
* identity of event
*/
event?: {
[k: string]: unknown
/**
* the event's unique identifier
*/
id?: string
/**
* the type of entity that the event is related to
*/
include?: string
}
/**
* the delivery's unique identifier
*/
id?: string
/**
* last attempt of a delivery
*/
last_attempt?: {
[k: string]: unknown
/**
* http response code received during attempt
*/
code?: null | number
/**
* when attempt was created
*/
created_at?: string
/**
* error class encountered during attempt
*/
error_class?: null | string
/**
* unique identifier of attempt
*/
id?: string
/**
* status of an attempt
*/
status?: 'failed' | 'scheduled' | 'succeeded'
/**
* when attempt was updated
*/
updated_at?: string
} | null
/**
* when delivery will be attempted again
*/
next_attempt_at?: null | string
/**
* number of times a delivery has been attempted
*/
num_attempts?: number
/**
* the delivery's status
*/
status?: 'failed' | 'pending' | 'retrying' | 'scheduled' | 'succeeded'
/**
* when the delivery was last updated
*/
updated_at?: string
/**
* identity of webhook
*/
webhook?: {
[k: string]: unknown
/**
* the webhook's unique identifier
*/
id?: string
/**
* if `notify`, Heroku makes a single, fire-and-forget delivery attempt. If `sync`, Heroku attempts multiple deliveries until the request is successful or a limit is reached
*/
level?: 'notify' | 'sync'
}
}
/**
* Represents a webhook event that occurred.
*/
export interface AppWebhookEvent {
[k: string]: unknown
/**
* when event was created
*/
created_at?: string
/**
* the event's unique identifier
*/
id?: string
/**
* the type of entity that the event is related to
*/
include?: string
payload?: Payload
/**
* when the event was last updated
*/
updated_at?: string
}
/**
* payload of event
*/
export interface Payload {
[k: string]: unknown
/**
* the type of event that occurred
*/
action?: string
actor?: Actor
data?: Data
previous_data?: PreviousData
/**
* the type of resource associated with the event
*/
resource?: string
/**
* the version of the details provided for the event
*/
version?: string
}
/**
* user that caused event
*/
export interface Actor {
[k: string]: unknown
/**
* unique email address of account
*/
email?: string
/**
* unique identifier of an account
*/
id?: string
}
/**
* the current details of the event
*/
export interface Data {
[k: string]: unknown
}
/**
* previous details of the event (if any)
*/
export interface PreviousData {
[k: string]: unknown
}
/**
* Represents the details of a webhook subscription
*/
export interface AppWebhook {}
/**
* An app represents the program that you would like to deploy and run on Heroku.
*/
export interface App {
[k: string]: unknown
/**
* ACM status of this app
*/
acm?: boolean
/**
* when app was archived
*/
archived_at?: null | string
/**
* identity of the stack that will be used for new builds
*/
build_stack?: {
[k: string]: unknown
/**
* unique identifier of stack
*/
id?: string
/**
* unique name of stack
*/
name?: string
}
/**
* description from buildpack of app
*/
buildpack_provided_description?: null | string
/**
* when app was created
*/
created_at?: string
/**
* git repo URL of app
*/
git_url?: string
/**
* unique identifier of app
*/
id?: string
/**
* describes whether a Private Spaces app is externally routable or not
*/
internal_routing?: boolean | null
/**
* maintenance status of app
*/
maintenance?: boolean
/**
* unique name of app
*/
name?: string
/**
* identity of team
*/
organization?: {
[k: string]: unknown
/**
* unique identifier of team
*/
id?: string
/**
* unique name of team
*/
name?: string
} | null
/**
* identity of app owner
*/
owner?: {
[k: string]: unknown
/**
* unique email address of account
*/
email?: string
/**
* unique identifier of an account
*/
id?: string
}
/**
* identity of app region
*/
region?: {
[k: string]: unknown
/**
* unique identifier of region
*/
id?: string
/**
* unique name of region
*/
name?: string
}
/**
* when app was released
*/
released_at?: null | string
/**
* git repo size in bytes of app
*/
repo_size?: null | number
/**
* slug size in bytes of app
*/
slug_size?: null | number
/**
* identity of space
*/
space?: {
[k: string]: unknown
/**
* unique identifier of space
*/
id?: string
/**
* unique name of space
*/
name?: string
/**
* true if this space has shield enabled
*/
shield?: boolean
} | null
/**
* identity of app stack
*/
stack?: {
[k: string]: unknown
/**
* unique identifier of stack
*/
id?: string
/**
* unique name of stack
*/
name?: string
}
/**
* identity of team
*/
team?: {
[k: string]: unknown
/**
* unique identifier of team
*/
id?: string
/**
* unique name of team
*/
name?: string
} | null
/**
* when app was updated
*/
updated_at?: string
/**
* web URL of app
*/
web_url?: null | string
}
/**
* An audit trail archive represents a monthly json zipped file containing events
*/
export interface AuditTrailArchive {
[k: string]: unknown
/**
* checksum for the archive
*/
checksum?: string
/**
* when archive was created
*/
created_at?: string
/**
* month of the archive
*/
month?: '01' | '02' | '03' | '04' | '05' | '06' | '07' | '08' | '09' | '10' | '11' | '12'
/**
* size of the archive in bytes
*/
size?: number
/**
* url where to download the archive
*/
url?: string
/**
* year of the archive
*/
year?: number
}
/**
* An audit trail event represents some action on the platform
*/
export interface AuditTrailEvent {
[k: string]: unknown
/**
* action for the event
*/
action?: string
actor?: Actor1
app?: AuditTrailApp
/**
* when event was created
*/
created_at?: string
data?: Data1
enterprise_account?: AuditTrailEnterpriseAccount
/**
* unique identifier of event
*/
id?: string
owner?: Owner1
request?: Request
team?: AuditTrailTeam
/**
* type of event
*/
type?: string
}
/**
* user who caused event
*/
export interface Actor1 {
[k: string]: unknown
email?: string
id?: string
}
/**
* app upon which event took place
*/
export interface AuditTrailApp {
[k: string]: unknown
id?: string
name?: string
}
/**
* owner of the app targeted by the event
*/
export interface Owner1 {
[k: string]: unknown
email?: string
id?: string
}
/**
* enterprise account on which the event happened
*/
export interface AuditTrailEnterpriseAccount {
[k: string]: unknown
id?: string
name?: string
}
/**
* team on which the event happened
*/
export interface AuditTrailTeam {
[k: string]: unknown
id?: string
name?: string
}
/**
* information about where the action was triggered
*/
export interface Request {
[k: string]: unknown
ip_address?: string
}
/**
* data specific to the event
*/
export interface Data1 {
[k: string]: unknown
}
/**
* A build represents the process of transforming a code tarball into a slug
*/
export interface Build {
[k: string]: unknown
/**
* app that the build belongs to
*/
app?: {
[k: string]: unknown
/**
* unique identifier of app
*/
id?: string
}
buildpacks?: Buildpacks
/**
* when build was created
*/
created_at: string
/**
* unique identifier of build
*/
id: string
/**
* Build process output will be available from this URL as a stream. The stream is available as either `text/plain` or `text/event-stream`. Clients should be prepared to handle disconnects and can resume the stream by sending a `Range` header (for `text/plain`) or a `Last-Event-Id` header (for `text/event-stream`).
*/
output_stream_url?: string
release?: BuildRelease
/**
* slug created by this build
*/
slug?: {
[k: string]: unknown
/**
* unique identifier of slug
*/
id?: string
} | null
source_blob: SourceBlob
/**
* stack of build
*/
stack?: string
/**
* status of build
*/
status: 'failed' | 'pending' | 'succeeded'
/**
* when build was updated
*/
updated_at: string
/**
* user that started the build
*/
user: {
[k: string]: unknown
/**
* unique email address of account
*/
email?: string
/**
* unique identifier of an account
*/
id?: string
}
}
/**
* location of gzipped tarball of source code used to create build
*/
export interface SourceBlob {
[k: string]: unknown
/**
* an optional checksum of the gzipped tarball for verifying its integrity
*/
checksum?: null | string
/**
* URL where gzipped tar archive of source code for build was downloaded.
*/
url?: string
/**
* Version of the gzipped tarball.
*/
version?: null | string
/**
* Version description of the gzipped tarball.
*/
version_description?: null | string
}
/**
* A buildpack installation represents a buildpack that will be run against an app.
*/
export interface BuildpackInstallations {
[k: string]: unknown
/**
* buildpack
*/
buildpack?: {
[k: string]: unknown
/**
* either the Buildpack Registry name or a URL of the buildpack for the app
*/
name?: string
/**
* location of the buildpack for the app. Either a url (unofficial buildpacks) or an internal urn (heroku official buildpacks).
*/
url?: string
}
/**
* determines the order in which the buildpacks will execute
*/
ordinal?: number
}
/**
* A collaborator represents an account that has been given access to an app on Heroku.
*/
export interface Collaborator {
/**
* app collaborator belongs to
*/
app: {
[k: string]: unknown
/**
* unique identifier of app
*/
id?: string
/**
* unique name of app
*/
name?: string
}
/**
* when collaborator was created
*/
created_at: string
/**
* unique identifier of collaborator
*/
id: string
permissions?: TeamAppPermission[]
/**
* role in the team
*/
role?: 'admin' | 'collaborator' | 'member' | 'owner' | null
/**
* when collaborator was updated
*/
updated_at: string
/**
* identity of collaborated account
*/
user: {
[k: string]: unknown
/**
* unique email address of account
*/
email?: string
/**
* whether the user is federated and belongs to an Identity Provider
*/
federated?: boolean
/**
* unique identifier of an account
*/
id?: string
}
}
/**
* A team app permission is a behavior that is assigned to a user in a team app.
*/
export interface TeamAppPermission {
[k: string]: unknown
/**
* A description of what the app permission allows.
*/
description?: string
/**
* The name of the app permission.
*/
name?: string
}
/**
* Config Vars allow you to manage the configuration information provided to an app on Heroku.
*/
export interface ConfigVars {
/**
* This interface was referenced by `ConfigVars`'s JSON-Schema definition
* via the `patternProperty` "^\w+$".
*/
[k: string]: string
}
/**
* A credit represents value that will be used up before further charges are assigned to an account.
*/
export interface Credit {
[k: string]: unknown
/**
* total value of credit in cents
*/
amount?: number
/**
* remaining value of credit in cents
*/
balance?: number
/**
* when credit was created
*/
created_at?: string
/**
* when credit will expire
*/
expires_at?: string
/**
* unique identifier of credit
*/
id?: string
/**
* a name for credit
*/
title?: string
/**
* when credit was updated
*/
updated_at?: string
}
/**
* Domains define what web routes should be routed to an app on Heroku.
*/
export interface Domain {
[k: string]: unknown
/**
* status of this record's ACM
*/
acm_status?: null | string
/**
* reason for the status of this record's ACM
*/
acm_status_reason?: null | string
/**
* app that owns the domain
*/
app?: {
[k: string]: unknown
/**
* unique identifier of app
*/
id?: string
/**
* unique name of app
*/
name?: string
}
/**
* canonical name record, the address to point a domain at
*/
cname?: null | string
/**
* when domain was created
*/
created_at?: string
/**
* full hostname
*/
hostname?: string
/**
* unique identifier of this domain
*/
id?: string
/**
* type of domain name
*/
kind?: 'custom' | 'heroku'
/**
* sni endpoint the domain is associated with
*/
sni_endpoint?: {
[k: string]: unknown
/**
* unique identifier of this SNI endpoint
*/
id?: string
/**
* unique name for SNI endpoint
*/
name?: string
} | null
/**
* status of this record's cname
*/
status?: string
/**
* when domain was updated
*/
updated_at?: string
}
/**
* Dyno sizes are the values and details of sizes that can be assigned to dynos. This information can also be found at : [https://devcenter.heroku.com/articles/dyno-types](https://devcenter.heroku.com/articles/dyno-types).
*/
export interface DynoSize {
[k: string]: unknown
/**
* minimum vCPUs, non-dedicated may get more depending on load
*/
compute?: number
cost?: Cost
/**
* whether this dyno will be dedicated to one user
*/
dedicated?: boolean
/**
* @deprecated
* deprecated. See precise_dyno_units instead
*/
dyno_units?: number
/**
* unique identifier of this dyno size
*/
id?: string
/**
* amount of RAM in GB
*/
memory?: number
/**
* the name of this dyno-size
*/
name?: string
/**
* unit of consumption for Heroku Enterprise customers to 2 decimal places
*/
precise_dyno_units?: number
/**
* whether this dyno can only be provisioned in a private space
*/
private_space_only?: boolean
}
/**
* Dynos encapsulate running processes of an app on Heroku. Detailed information about dyno sizes can be found at: [https://devcenter.heroku.com/articles/dyno-types](https://devcenter.heroku.com/articles/dyno-types).
*/
export interface Dyno {
[k: string]: unknown
/**
* app formation belongs to
*/
app?: {
[k: string]: unknown
/**
* unique identifier of app
*/
id?: string
/**
* unique name of app
*/
name?: string
}
/**
* a URL to stream output from for attached processes or null for non-attached processes
*/
attach_url?: null | string
/**
* command used to start this process
*/
command?: string
/**
* when dyno was created
*/
created_at?: string
/**
* unique identifier of this dyno
*/
id?: string
/**
* the name of this process on this dyno
*/
name?: string
/**
* app release of the dyno
*/
release?: {
[k: string]: unknown
/**
* unique identifier of release
*/
id?: string
/**
* unique version assigned to the release
*/
version?: number
}
/**
* dyno size
*/
size?: string
/**
* current status of process (either: crashed, down, idle, starting, or up)
*/
state?: string
/**
* type of process
*/
type?: string
/**
* when process last changed state
*/
updated_at?: string
}
/**
* Usage for an enterprise account at a daily resolution.
*/
export interface EnterpriseAccountDailyUsage {
[k: string]: unknown
/**
* total add-on credits used
*/
addons?: number
/**
* total add-on credits used for first party add-ons
*/
data?: number
/**
* date of the usage
*/
date?: string
/**
* dynos used
*/
dynos?: number
/**
* enterprise account identifier
*/
id?: string
/**
* name of the enterprise account
*/
name?: string
/**
* total add-on credits used for third party add-ons
*/
partner?: number
/**
* space credits used
*/
space?: number
/**
* usage by team
*/
teams?: {
[k: string]: unknown
/**
* total add-on credits used
*/
addons?: number
/**
* app usage in the team
*/
apps?: AppUsageDaily[]
/**
* total add-on credits used for first party add-ons
*/
data?: number
/**
* dynos used
*/
dynos?: number
/**
* team identifier
*/
id?: string
/**
* name of the team
*/
name?: string
/**
* total add-on credits used for third party add-ons
*/
partner?: number
/**
* space credits used
*/
space?: number
}[]
}
/**
* Usage for an app at a daily resolution.
*/
export interface AppUsageDaily {
[k: string]: unknown
/**
* total add-on credits used
*/
addons?: number
/**
* unique name of app
*/
app_name?: string
/**
* total add-on credits used for first party add-ons
*/
data?: number
/**
* dynos used
*/
dynos?: number
/**
* total add-on credits used for third party add-ons
*/
partner?: number
}
/**
* Enterprise account members are users with access to an enterprise account.
*/
export interface EnterpriseAccountMember {
[k: string]: unknown
enterprise_account?: {
[k: string]: unknown
/**
* unique identifier of the enterprise account
*/
id?: string
/**
* unique name of the enterprise account
*/
name?: string
}
/**
* unique identifier of the member
*/
id?: string
identity_provider?: MemberIdentityProvider
permissions?: ExpandedPermissions
/**
* whether the Enterprise Account member has two factor authentication enabled
*/
two_factor_authentication?: boolean
/**
* user information for the membership
*/
user?: {
[k: string]: unknown
/**
* unique email address of account
*/
email?: string
/**
* unique identifier of an account
*/
id?: string
}
}
/**
* Usage for an enterprise account at a monthly resolution.
*/
export interface EnterpriseAccountMonthlyUsage {
[k: string]: unknown
/**
* total add-on credits used
*/
addons?: number
/**
* average connect rows synced
*/
connect?: number
/**
* total add-on credits used for first party add-ons
*/
data?: number
/**
* dynos used
*/
dynos?: number
/**
* enterprise account identifier
*/
id?: string
/**
* year and month of the usage
*/
month?: string
/**
* name of the enterprise account
*/
name?: string
/**
* total add-on credits used for third party add-ons
*/
partner?: number
/**
* space credits used
*/
space?: number
/**
* usage by team
*/
teams?: {
[k: string]: unknown
/**
* total add-on credits used
*/
addons?: number
/**
* app usage in the team
*/
apps?: AppUsageMonthly[]
/**
* average connect rows synced
*/
connect?: number
/**
* total add-on credits used for first party add-ons
*/
data?: number
/**
* dynos used
*/
dynos?: number
/**
* team identifier
*/
id?: string
/**
* name of the team
*/
name?: string
/**
* total add-on credits used for third party add-ons
*/
partner?: number
/**
* space credits used
*/
space?: number
}[]
}
/**
* Usage for an app at a monthly resolution.
*/
export interface AppUsageMonthly {
[k: string]: unknown
/**
* total add-on credits used
*/
addons?: number
/**
* unique name of app
*/
app_name?: string
/**
* total add-on credits used for first party add-ons
*/
data?: number
/**
* dynos used
*/
dynos?: number
/**
* total add-on credits used for third party add-ons
*/
partner?: number
}
/**
* Enterprise accounts allow companies to manage their development teams and billing.
*/
export interface EnterpriseAccount {
[k: string]: unknown
/**
* when the enterprise account was created
*/
created_at?: string
/**
* unique identi