---
title: "Create a setup intent"
method: POST
path: "/v1/setup_intents"
tags: ["Setup Intents"]
---

# Create a setup intent

`POST /v1/setup_intents`

## Request

- Base URL: `https://orders-api.paymongo.com`
- URL: `https://orders-api.paymongo.com/v1/setup_intents`
- Auth: HTTP basic

Creates a setup intent over a subscription's carrier payment intent, at the service that decides the carrier (`processed_by`), in core-api's response shape either way.

## Request body

- CreateSetupIntentRequest
  - `data` object
    - `attributes` object
      - `payment_intent_id` string: A subscription's carrier: an off_session intent awaiting a payment method.

## Response `200`

OK

- SetupIntentResponse
  - `data` object
    - `attributes` SetupIntentAttributes
      - `created_at` integer
      - `last_setup_error` string: The card table's text for the setup's failed_code, null when it has none.
      - `livemode` boolean
      - `payment_intent_id` string
      - `status` string
      - `updated_at` integer
    - `id` string
    - `type` string

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `404`: Not Found
- `default`

---

[API](https://skmtc.dev/paymongo/apis/orders.md) - [All operations](https://skmtc.dev/paymongo/apis/orders/llms.txt) - [OpenAPI document](https://skmtc.dev/paymongo/apis/orders/revisions/7962c4ea82b5?raw)
