### List available commitment types

#### get/beta/v1/org/{org_id}/commitment-types

Returns the commitment types available for the specified provider. Each type lists its supported contract terms, and each term lists the payment options that are actually offered for that (type, term) pair — the cross product of terms x payment options is NOT implied. Every leaf field (`commitment_type`, `contract_terms[*].contract_term`, `contract_terms[*].payment_options[*]`) is the exact value you pass into a plan's `configuration.contract_specs`.

#### Path parameters

- **org_id**: string · uuid Required

#### Query parameters

- **provider**: string · enum Required  
  Cloud provider to list commitment types for (aws, azure, gcp).

Possible values: `aws`, `azure`, `gcp`

#### Responses

**200 OK**
- **commitment_type**: string Required  
  Commitment type identifier (e.g. 'aws/savingsplan/Compute', 'aws/AmazonEC2'). Pass directly as `commitment_type` in a plan's `configuration.contract_specs`.
- **contract_terms**: object · AvailableContractTerm[] Required  
  Contract terms this commitment type supports, each with its valid payment options. A `(contract_term, payment_option)` pair is only accepted in a plan spec if it appears here.

**Error Responses:**
- **400**: Bad request
- **401**: Unauthorized
- **403**: Forbidden
- **404**: Not found
- **405**: Method not allowed
- **409**: Conflict
- **422**: Unprocessable Content
- **500**: Internal server error
- **default**: Default error response

### Example Request

```
GET /beta/v1/org/{org_id}/commitment-types?provider=aws HTTP/1.1
Accept: */*
```

### Example Response

```
[
  {
    "commitment_type": "text",
    "contract_terms": [
      {
        "contract_term": "thirty_day_gris",
        "payment_options": [
          "no_upfront"
        ]
      }
    ]
  }
]
```
