# POST /affiliate/payout/generate — Create Manual Report

> Product: **Pabbly Subscription Billing** (v1)
> Base URL: `https://payments.pabbly.com/api/v1`
> Auth: Basic via `Authorization` header
> Canonical: `/subscription-billing/affiliate-modules/create-manual-report`

The POST request API. In which you will add the payout date. In response you will get the success message of the payout report generated and then you'll check the report in your Pabbly account.

**Body parameters:**

| Name | Type | Required | Description |
|------|------|----------|-------------|
| payout_date | string | No |  |

**Example request body:**

```json
{
    "payout_date":"2021-02-19"
}
```

**Response (200)** — Create Manual Report:

```json
{
    "status": "success",
    "message": "Payout report generated"
}
```

**Response (200)** — Create Manual Report:

_(empty body)_

**Code examples:**

_cURL_

```curl
curl -X POST https://payments.pabbly.com/api/v1/affiliate/payout/generate \
  -u {{YOUR_API_KEY}}:{{YOUR_SECRET_KEY}} \
  -H "Content-Type: application/json" \
  -d '{
    "payout_date": "2021-02-19"
  }'
```

_Ruby_

```ruby
require 'net/http'
require 'json'

uri = URI('https://payments.pabbly.com/api/v1/affiliate/payout/generate')
request = Net::HTTP::Post.new(uri)
request.basic_auth '{{YOUR_API_KEY}}', '{{YOUR_SECRET_KEY}}'
request['Content-Type'] = 'application/json'
request.body = "{\"payout_date\":\"2021-02-19\"}"

response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http|
  http.request(request)
end

data = JSON.parse(response.body)
```

_Python_

```python
import requests
from requests.auth import HTTPBasicAuth

response = requests.post(
    'https://payments.pabbly.com/api/v1/affiliate/payout/generate',
    auth=HTTPBasicAuth('{{YOUR_API_KEY}}', '{{YOUR_SECRET_KEY}}'),
    json={
    'payout_date': '2021-02-19'
},
)

data = response.json()
```

_PHP_

```php
<?php
$ch = curl_init('https://payments.pabbly.com/api/v1/affiliate/payout/generate');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_USERPWD, '{{YOUR_API_KEY}}:{{YOUR_SECRET_KEY}}');
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"payout_date":"2021-02-19"}');

$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
```

_Java_

```java
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.util.Base64;

String credentials = Base64.getEncoder().encodeToString("{{YOUR_API_KEY}}:{{YOUR_SECRET_KEY}}".getBytes());

HttpClient client = HttpClient.newHttpClient();
HttpRequest.Builder builder = HttpRequest.newBuilder()
    .uri(URI.create("https://payments.pabbly.com/api/v1/affiliate/payout/generate"))
    .header("Authorization", "Basic " + credentials)
    .header("Content-Type", "application/json")
    .method("POST", HttpRequest.BodyPublishers.ofString("{\"payout_date\":\"2021-02-19\"}"));

HttpRequest request = builder.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
```

_Node.js_

```node
const credentials = Buffer.from('{{YOUR_API_KEY}}:{{YOUR_SECRET_KEY}}').toString('base64');

const response = await fetch('https://payments.pabbly.com/api/v1/affiliate/payout/generate', {
  method: 'POST',
  headers: {
    'Authorization': `Basic ${credentials}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "payout_date": "2021-02-19"
  }),
});

const data = await response.json();
```

_Go_

```go
package main

import (
    "fmt"
    "io"
    "net/http"
    "strings"
)

func main() {
    payload := strings.NewReader("{\"payout_date\":\"2021-02-19\"}")
    req, _ := http.NewRequest("POST", "https://payments.pabbly.com/api/v1/affiliate/payout/generate", payload)
    req.Header.Set("Content-Type", "application/json")
    req.SetBasicAuth("{{YOUR_API_KEY}}", "{{YOUR_SECRET_KEY}}")

    res, _ := http.DefaultClient.Do(req)
    defer res.Body.Close()
    body, _ := io.ReadAll(res.Body)
    fmt.Println(string(body))
}
```

_.NET_

```dotnet
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;

var credentials = Convert.ToBase64String(Encoding.ASCII.GetBytes("{{YOUR_API_KEY}}:{{YOUR_SECRET_KEY}}"));

var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://payments.pabbly.com/api/v1/affiliate/payout/generate");
request.Headers.TryAddWithoutValidation("Authorization", $"Basic {credentials}");
request.Content = new StringContent("{\"payout_date\":\"2021-02-19\"}");
request.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json");

var response = await client.SendAsync(request);
var data = await response.Content.ReadAsStringAsync();
Console.WriteLine(data);
```

---

**Other endpoints in Affiliate Modules:**

- [POST /commissions/create — Create Commission](/subscription-billing/affiliate-modules/create-commission)
- [GET /commissions — List Commissions](/subscription-billing/affiliate-modules/list-commissions)
- [PUT /commissions/{{commissionId}} — Update Commission](/subscription-billing/affiliate-modules/update-commission)
- [GET /commissions/clicks — Affiliate Clicks](/subscription-billing/affiliate-modules/affiliate-clicks)
- [DELETE /commissions/clicks/{{click_id}} — Delete Clicks](/subscription-billing/affiliate-modules/delete-clicks)
- [GET /affiliate/links — Affiliate Links](/subscription-billing/affiliate-modules/affiliate-links)
- [POST /affiliate/commissionrule/create — Create Commission Rule](/subscription-billing/affiliate-modules/create-commission-rule)
- [PUT /affiliate/status/{{id}} — Update Affiliate Status](/subscription-billing/affiliate-modules/update-affiliate-status)

