---
title: "Create an ephemeral key"
method: POST
path: "/v1/ephemeral_keys"
---

# Create an ephemeral key

`POST /v1/ephemeral_keys`

Creates a short-lived API key for a given resource.

## Response `200`

Successful response.

- EphemeralKey — Ephemeral keys give the SDKs (like Stripe's mobile SDKs and Issuing Elements) temporary, scoped access to a specific resource, such as a Customer, Issuing Card, or Identity VerificationSession, without exposing your secret API key. Related guides: [Using Issuing Elements](https://docs.stripe.com/issuing/elements).
  - `created` integer, required — Time at which the object was created. Measured in seconds since the Unix epoch.
  - `expires` integer, required — Time at which the key will expire. Measured in seconds since the Unix epoch.
  - `id` string, required — Unique identifier for the object.
  - `livemode` boolean, required — If the object exists in live mode, the value is `true`. If the object exists in test mode, the value is `false`.
  - `object` 'ephemeral_key', required — String representing the object's type. Objects of the same type share the same value.
  - `secret` string — The key's secret. You can use this value to make authorized requests to the Stripe API.

## Other responses

- `default` — Error response.

## Changes

> 51 revisions in range; 14 not diffed, 6 could not be searched.

- **2026-07-01** `e24a26de4188` — 3 breaking
  - removed the required property `error/payment_intent/latest_charge/anyOf[subschema #2: Charge]/application_fee/anyOf[subschema #2: PlatformFee]/balance_transaction/anyOf[subschema #2: BalanceTransaction]/source/anyOf[subschema #6: Dispute]/payment_method_details/card/network` from the response with the `default` status
  - removed the required property `error/payment_intent/latest_charge/anyOf[subschema #2: Charge]/balance_transaction/anyOf[subschema #2: BalanceTransaction]/source/anyOf[subschema #6: Dispute]/payment_method_details/card/network` from the response with the `default` status
  - removed the required property `error/payment_intent/latest_charge/anyOf[subschema #2: Charge]/failure_balance_transaction/anyOf[subschema #2: BalanceTransaction]/source/anyOf[subschema #6: Dispute]/payment_method_details/card/network` from the response with the `default` status
  - …this revision’s changelog is incomplete
- …earlier changes not shown

[Full history](https://skmtc.dev/stripe/apis/spec3/changes/v1/ephemeral_keys/post.md)

---

[API](https://skmtc.dev/stripe/apis/spec3.md) · [All operations](https://skmtc.dev/stripe/apis/spec3/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/stripe/spec3/revisions/f0e0fc8fffbf/schema)
