# Retrieve an offer fulfillment

> For the complete machine-readable documentation index, see [llms.txt](https://apidocs.chargebee.com/llms.txt).


This API is used to retrieve the fulfillment record. This is typically used to check the latest status of an asynchronous offer fulfillment. You can use this after creating an offer fulfillment (billing update or checkout).

## Sample Request

#### cURL

```bash
curl  https://{site}.grow.chargebee.com/api/v2/offer_fulfillments/9ad57ad8-c22c-451b-b9de-780e7e7d987f \
     -u {site_api_key}:
```

#### .NET

```dotnet
using ChargeBee.Api;
using ChargeBee.Models;

ApiConfig.Configure("{site}","{site_api_key}");
EntityResult result = OfferFulfillment.OfferFulfillmentsGet("9ad57ad8-c22c-451b-b9de-780e7e7d987f").Request();

OfferFulfillment offerFulfillment = result.OfferFulfillment;
```

#### Go

```go
package main
import (
    "fmt"
    "github.com/chargebee/chargebee-go/v3"
    offerfulfillmentAction "github.com/chargebee/chargebee-go/v3/actions/offerfulfillment"
)
func main() {
    chargebee.Configure("{site_api_key}","{site}");
    res,err := offerfulfillmentAction.OfferFulfillmentsGet("9ad57ad8-c22c-451b-b9de-780e7e7d987f").Request()
    if err != nil {
        fmt.Println(err)
    } else {
        OfferFulfillment := res.OfferFulfillment
    }
}
```

#### Go

```go
package main

import (
  "fmt"
  "github.com/chargebee/chargebee-go/v4"
)

func main() {
  config := &chargebee.ClientConfig{
    SiteName: "{site}",
    ApiKey: "{site_api_key}",
  }    
  client := chargebee.NewClient(config)
  
  res, err := client.OfferFulfillment.OfferFulfillmentsGet("9ad57ad8-c22c-451b-b9de-780e7e7d987f")
      if err != nil {
        fmt.Println(err)
    } else {
        OfferFulfillment := res.OfferFulfillment
    }
}
```

#### Java

```java
import com.chargebee.*;
import com.chargebee.ListResult;
import com.chargebee.models.*;
import com.chargebee.models.enums.*;
import java.io.IOException;

public class Sample {

    public static void main(String args[]) throws IOException, Exception {
        Environment.configure("{site}", "{site_api_key}");
        Result result = OfferFulfillment.offerFulfillmentsGet("9ad57ad8-c22c-451b-b9de-780e7e7d987f").request();

        OfferFulfillment offerFulfillment = result.offerFulfillment();
    }
}
```

#### Java

```java
import com.chargebee.v4.client.ChargebeeClient;
import com.chargebee.v4.models.offerFulfillment.OfferFulfillment;
import com.chargebee.v4.models.offerFulfillment.params.OfferFulfillmentsGetParams;
import com.chargebee.v4.models.offerFulfillment.responses.OfferFulfillmentsGetResponse;

public class OfferFulfillmentsGet {

    public static void main(String[] args) {
        ChargebeeClient client = ChargebeeClient.builder()
            .apiKey("{site_api_key}")
            .siteName("{site}")
            .build();

        OfferFulfillmentsGetResponse response = client.offerFulfillments().offerFulfillmentsGet("9ad57ad8-c22c-451b-b9de-780e7e7d987f");

        OfferFulfillment offerFulfillment = response.getOfferFulfillment();
    }
}
```

#### Node.js

```node
import Chargebee from "chargebee";

const chargebee = new Chargebee({
    site: "{site}",
    apiKey: "{site_api_key}",
});

try {
    const result = await chargebee.offerFulfillment.offerFulfillmentsGet("9ad57ad8-c22c-451b-b9de-780e7e7d987f");

    console.log(result);
    const offerFulfillment = result.offer_fulfillment;
} catch (err) {
    console.log(err);
}
```

#### PHP

```php
<?php

require __DIR__ . '/vendor/autoload.php';

use Chargebee\ChargebeeClient;

$chargebee = new ChargebeeClient(options: [
    "site" => "{site}",
    "apiKey" => "{site_api_key}",
]);
$result = $chargebee->offerFulfillment()->offerFulfillmentsGet("9ad57ad8-c22c-451b-b9de-780e7e7d987f");
$offerFulfillment = $result->offer_fulfillment;
```

#### Python

```python
from chargebee import Chargebee

cb_client = Chargebee(api_key="{site_api_key}", site="{site}")
response = cb_client.OfferFulfillment.offer_fulfillments_get("9ad57ad8-c22c-451b-b9de-780e7e7d987f")
offer_fulfillment = response.offer_fulfillment
```

#### Ruby

```ruby
require 'chargebee'

ChargeBee.configure(:site => "{site}",
  :api_key => "{site_api_key}")

result = ChargeBee::OfferFulfillment.offer_fulfillments_get("9ad57ad8-c22c-451b-b9de-780e7e7d987f")

offer_fulfillment = result.offer_fulfillment
```

## Sample Response

```json
{
  "offer_fulfillment": {
    "id": "9ad57ad8-c22c-451b-b9de-780e7e7d987f",
    "personalized_offer_id": "6Y2g7VklOw_904e543f-39da-451c-9a2c-4583284367e8",
    "option_id": "912aaab5-1336-4db2-9dba-18a452ba939c_904e543f-39da-451c-9a2c-4583284367e8",
    "processing_type": "url_redirect",
    "status": "in_progress",
    "redirect_url": "https://mysecurecheckoutflow.com/a52ge40b"
  }
}
```

## URL Format

**GET** https://[site].grow.chargebee.com/api/v2/offer_fulfillments/{offer-fulfillment-id}

## Returns

- `offer_fulfillment` (Offer fulfillment object)
  Represents the fulfillment created for the offer.
