---
title: "Create a Source"
method: POST
path: "/v1/sources"
---

# Create a Source

`POST /v1/sources`

## Request

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

Use public API key to create a Source

## Request body

- object
  - `data` object
    - `attributes` object
      - `type` string, required: The type of source. Possible values are `gcash` and `grab_pay`.
      - `amount` integer, required: amount to be authorized by the source. A positive integer with minimum amount of 10000. 10000 is the smallest unit in cents. If you want to receive an amount of 100.00, the value that you should pass is 10000. If you want to receive an amount of 1500.50, the value that you should pass is 150050. Take note that whenever you create a payment from a chargeable source, the source amount should match the Payment that you will create.
      - `currency` string, required: Three-letter ISO currency code, in uppercase. PHP is the only supported currency as of the moment.
      - `redirect` object, required
        - `success` string, required: URL to redirect the customer once authorization is successful.
        - `failed` string, required: URL to redirect the customer if the authorization encountered an error.
      - `billing` object: Billing Information
        - `name` string: Name of the billing information
        - `phone` string: Phone number of the billing information
        - `email` string: E-mail address of the billing information
        - `address` object: Address of the billing information
          - `line1` string: Line1 of the billing address information
          - `line2` string: Line2 of the billing address information
          - `state` string: State of the billing address information
          - `postal_code` string: Postal Code of the billing address information
          - `city` string: City of the billing address information
          - `country` string: Country of the billing address information. Possible values are ISO 3166-1 alpha-2 codes or two-letter country codes..
      - `metadata` object: A set of key-value pairs that you can attach to the resource. This can be useful for storing additional information about the object in a structured format. Only string values are accepted. Keys that start with `PYM_` are reserved for internal use and are stripped on write.

## Response `200`

200

- object

## Other responses

- `400`: 400

## Changes

- **2026-11-03** `f9ffaecbfe3d`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/paymongo/apis/paymongo-api/changes/v1/sources/post.md)

---

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