## Network

- **Type**: string
- **Enum**: `testnet`, `mainnet`  
- **Required**: Osmosis network to build transaction for

## Delegator Address

- **Type**: string
- **Required**: The address of the delegator

## Validator Address

- **Type**: string
- **Required**: The address of the validator

## Amount

- **Type**: string
- **Required**: Amount to delegate

## Pubkey

- **Type**: string  
- **Note**: The pubkey value will be retrieved from the chain, but if you're using a fresh account (that does not have any outgoing activity), then this information is not available and it requires the user to pass it.

## Pubkey Type

- **Type**: string
- **Enum**: `secp256k1`, `multisig`  
- **Required**: Type of public key of the delegator.

## Gas Limit

- **Type**: string
- **Note**: This is required if pubkey_type is multisig.

## Gas Price

- **Type**: string
- **Note**: This is required if pubkey_type is multisig.

## Response Codes

- **201**: Delegate transaction created
- **400**: Bad request
- **422**: Unprocessable entity

## Example CURL Request

```bash
curl --request POST \
     --url https://api.figment.io/osmosis/delegate \
     --header 'content-type: application/json' \
     --header 'x-api-key: your-api-key-here' \
     --data '  
{  
  "network": "testnet"  
}  
'  
```
