> ## Documentation Index
> Fetch the complete documentation index at: https://www.marqeta.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Create program transfer type

> Use this endpoint to create a program transfer type.

POST/programtransfers/types

Use this endpoint to create a program transfer type. Add the program transfer details to the body of the request in [JSON](http://www.json.org/) format.

You are required to pass in a `program_funding_source_token` to associate a program funding source with the program transfer type. You must therefore create a program funding source before creating a program transfer type.

## Request body

| Fields | Description |
| - | - |
| memo string  Required | Memo or note describing the program transfer type. **Allowable Values:**  1–99 chars |
| program\_funding\_source\_token string  Required | Unique identifier of the program funding source to which program transfers will be credited. Send a `GET` request to `/fundingsources/program` to retrieve program funding source tokens. **Allowable Values:**  1–36 chars |
| tags string  Optional | Comma-delimited list of tags describing the program transfer type. **Allowable Values:**  1–255 chars |
| token string  Optional | Unique identifier of the program transfer type. If you do not include a token, the system will generate one automatically. This token is necessary for use in other API calls, so we recommend that rather than let the system generate one, you use a simple string that is easy to remember. This value cannot be updated. **Allowable Values:**  1–36 chars |

## Sample request body

```json JSON lines wrap theme={null}
{
  "token": "my_program_transfer_type_01",
  "tags": "tag1, tag2, tag3",
  "memo": "This is my program transfer type.",
  "program_funding_source_token": "my_pfs_01"
}
```

## Response body

| Fields | Description |
| - | - |
| created\_time datetime  Conditionally returned | The date and time when the program transfer type object was created, in UTC. **Allowable Values:**  datetime **Format:** yyyy-MM-ddThh:mm:ssZ |
| last\_modified\_time datetime  Conditionally returned | Date and time when the program transfer type object was last modified, in UTC. **Allowable Values:**  datetime **Format:** yyyy-MM-ddThh:mm:ssZ |
| memo string  Conditionally returned | Memo or note describing the program transfer type. **Allowable Values:**  99 char max |
| program\_funding\_source\_token string  Returned | Unique identifier of the program funding source to which program transfers will be credited. **Allowable Values:**  Existing program funding source token |
| tags string  Conditionally returned | Comma-delimited list of tags describing the program transfer type. **Allowable Values:**  255 char max |
| token string  Returned | Unique identifier of the program transfer type request object. **Allowable Values:**  36 char max |

## Sample response body

```json JSON lines wrap theme={null}
{
  "token": "my_program_transfer_type_01",
  "tags": "tag1, tag2, tag3",
  "memo": "This is my program transfer type.",
  "program_funding_source_token": "my_pfs_01",
  "created_time": "2023-03-15T19:18:50Z",
  "last_modified_time": "2023-03-15T19:18:50Z"
}
```


## Related topics

- [Program Transfers Overview](https://www.marqeta.com/docs/core-api/program-transfers.md)
- [Program Transfer Types Overview](https://www.marqeta.com/docs/core-api/program-transfers/program-transfer-types.md)
- [Create program transfer](https://www.marqeta.com/docs/core-api/program-transfers/create-program-transfer.md)
- [Retrieve program transfer type](https://www.marqeta.com/docs/core-api/program-transfers/program-transfer-types/retrieve-type.md)
- [Update program transfer type](https://www.marqeta.com/docs/core-api/program-transfers/program-transfer-types/update-type.md)
