using Gr4vy;
using Gr4vy.Models.Components;
using System.Collections.Generic;
var sdk = new Gr4vySDK(
id: "example",
server: SDKConfig.Server.Sandbox,
bearerAuthSource: Auth.WithToken(privateKey),
merchantAccountId: "default"
);
var res = await sdk.Reports.CreateAsync(reportCreate: new ReportCreate() {
Name = "Monthly Transaction Report",
Schedule = "<value>",
ScheduleEnabled = true,
ScheduleTimezone = "UTC",
Spec = new Spec() {
Model = "detailed_settlement",
Params = new Dictionary<string, object>() {
{ "filters", new Dictionary<string, object>() {
{ "ingested_at", new Dictionary<string, object>() {
{ "end", "day_end" },
{ "start", "day_start" },
} },
} },
},
},
});
// handle responsepackage main
import(
"context"
"os"
gr4vygo "github.com/gr4vy/gr4vy-go"
"github.com/gr4vy/gr4vy-go/models/components"
"log"
)
func main() {
ctx := context.Background()
s := gr4vy.New(
gr4vy.WithID("example"),
gr4vy.WithServer(gr4vy.ServerSandbox),
gr4vy.WithSecuritySource(withToken),
gr4vy.WithMerchantAccountID("default"),
)
res, err := s.Reports.Create(ctx, components.ReportCreate{
Name: "Monthly Transaction Report",
Schedule: components.ReportScheduleDaily,
ScheduleEnabled: true,
ScheduleTimezone: gr4vygo.Pointer("UTC"),
Spec: components.CreateSpecDetailedSettlement(
components.DetailedSettlementReportSpec{
Params: map[string]any{
"filters": map[string]any{
"ingested_at": map[string]any{
"end": "day_end",
"start": "day_start",
},
},
},
},
),
})
if err != nil {
log.Fatal(err)
}
if res != nil {
// handle response
}
}package hello.world;
import com.gr4vy.sdk.Gr4vy;
import com.gr4vy.sdk.models.components.*;
import com.gr4vy.sdk.models.errors.*;
import com.gr4vy.sdk.models.operations.AddReportResponse;
import java.lang.Exception;
import java.util.Map;
public class Application {
public static void main(String[] args) throws Exception {
Gr4vy sdk = Gr4vy.builder()
.id("example")
.server(AvailableServers.SANDBOX)
.merchantAccountId("default")
.securitySource(new BearerSecuritySource.Builder(privateKey).build())
.build();
AddReportResponse res = sdk.reports().create()
.reportCreate(ReportCreate.builder()
.name("Monthly Transaction Report")
.schedule(ReportSchedule.DAILY)
.scheduleEnabled(true)
.spec(DetailedSettlementReportSpec.builder()
.params(Map.ofEntries(
Map.entry("filters", Map.ofEntries(
Map.entry("ingested_at", Map.ofEntries(
Map.entry("end", "day_end"),
Map.entry("start", "day_start")))))))
.build())
.scheduleTimezone("UTC")
.build())
.call();
if (res.report().isPresent()) {
System.out.println(res.report().get());
}
}
}declare(strict_types=1);
require 'vendor/autoload.php';
use Gr4vy;
$sdk = Gr4vy\SDK::builder()
->setId('example')
->setServer('sandbox')
->setSecuritySource(Auth::withToken($privateKey))
->setMerchantAccountId('default')
->build();
$reportCreate = new Gr4vy\ReportCreate(
name: 'Monthly Transaction Report',
schedule: '<value>',
scheduleEnabled: true,
scheduleTimezone: 'UTC',
spec: new Gr4vy\Spec(
model: 'detailed_settlement',
params: [
'filters' => [
'ingested_at' => [
'end' => 'day_end',
'start' => 'day_start',
],
],
],
),
);
$response = $sdk->reports->create(
reportCreate: $reportCreate
);
if ($response->report !== null) {
// handle response
}from gr4vy import Gr4vy
import os
with Gr4vy(
id="example",
server="sandbox",
merchant_account_id="default",
bearer_auth=auth.with_token(open("./private_key.pem").read())
) as g_client:
res = g_client.reports.create(name="Monthly Transaction Report", schedule="daily", schedule_enabled=True, spec={
"model": "detailed_settlement",
"params": {
"filters": {
"ingested_at": {
"end": "day_end",
"start": "day_start",
},
},
},
}, schedule_timezone="UTC")
# Handle response
print(res)import { Gr4vy, withToken } from "@gr4vy/sdk";
import fs from "fs";
const gr4vy = new Gr4vy({
id: "example",
server: "sandbox",
merchantAccountId: "default",
bearerAuth: withToken({
privateKey: fs.readFileSync("private_key.pem", "utf8"),
}),
});
async function run() {
const result = await gr4vy.reports.create({
name: "Monthly Transaction Report",
schedule: "daily",
scheduleEnabled: true,
scheduleTimezone: "UTC",
spec: {
model: "detailed_settlement",
params: {
"filters": {
"ingested_at": {
"end": "day_end",
"start": "day_start",
},
},
},
},
});
console.log(result);
}
run();curl --request POST \
--url https://api.sandbox.{id}.gr4vy.app/reports \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"schedule": "<string>",
"schedule_enabled": true,
"spec": {
"model": "<string>",
"params": {}
}
}
'{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"merchant_account_id": "<string>",
"name": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"schedule": "<string>",
"schedule_enabled": true,
"schedule_timezone": "<string>",
"spec": {
"model": "<string>",
"params": {}
},
"type": "report",
"creator_id": "d290f1ee-6c54-4b01-90e6-d701748f0851",
"creator_display_name": "Jane Doe",
"creator_type": "user",
"next_execution_at": "2024-06-01T00:00:00.000Z",
"description": "Monthly transaction summary for May 2024.",
"latest_execution": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"status": "<string>",
"context": {
"reference_timestamp": "2023-11-07T05:31:56Z",
"reference_timezone": "<string>"
},
"type": "report-execution"
}
}{
"type": "error",
"code": "bad_request",
"status": 400,
"message": "Generic error",
"details": []
}{
"type": "error",
"code": "unauthorized",
"status": 401,
"message": "No valid API authentication found",
"details": []
}{
"type": "error",
"code": "forbidden",
"status": 403,
"message": "Generic error",
"details": []
}{
"type": "error",
"code": "not_found",
"status": 404,
"message": "The resource could not be found",
"details": []
}{
"type": "error",
"code": "method_not_allowed",
"status": 405,
"message": "Method Not Allowed",
"details": []
}{
"type": "error",
"code": "duplicate_record",
"status": 409,
"message": "Generic error",
"details": [],
"resource_id": "cdc70639-cb9c-4222-a73f-b8ce39f7821b"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}{
"type": "error",
"code": "too_early",
"status": 425,
"message": "Generic error",
"details": []
}{
"type": "error",
"code": "too_many_requests",
"status": 429,
"message": "Generic error",
"details": []
}{
"type": "error",
"code": "server_error",
"status": 500,
"message": "Request could not be processed",
"details": []
}{
"type": "error",
"code": "bad_gateway",
"status": 502,
"message": "Request could not be processed",
"details": []
}{
"type": "error",
"code": "gateway_timeout",
"status": 504,
"message": "Request could not be processed",
"details": []
}Create a new report.
using Gr4vy;
using Gr4vy.Models.Components;
using System.Collections.Generic;
var sdk = new Gr4vySDK(
id: "example",
server: SDKConfig.Server.Sandbox,
bearerAuthSource: Auth.WithToken(privateKey),
merchantAccountId: "default"
);
var res = await sdk.Reports.CreateAsync(reportCreate: new ReportCreate() {
Name = "Monthly Transaction Report",
Schedule = "<value>",
ScheduleEnabled = true,
ScheduleTimezone = "UTC",
Spec = new Spec() {
Model = "detailed_settlement",
Params = new Dictionary<string, object>() {
{ "filters", new Dictionary<string, object>() {
{ "ingested_at", new Dictionary<string, object>() {
{ "end", "day_end" },
{ "start", "day_start" },
} },
} },
},
},
});
// handle responsepackage main
import(
"context"
"os"
gr4vygo "github.com/gr4vy/gr4vy-go"
"github.com/gr4vy/gr4vy-go/models/components"
"log"
)
func main() {
ctx := context.Background()
s := gr4vy.New(
gr4vy.WithID("example"),
gr4vy.WithServer(gr4vy.ServerSandbox),
gr4vy.WithSecuritySource(withToken),
gr4vy.WithMerchantAccountID("default"),
)
res, err := s.Reports.Create(ctx, components.ReportCreate{
Name: "Monthly Transaction Report",
Schedule: components.ReportScheduleDaily,
ScheduleEnabled: true,
ScheduleTimezone: gr4vygo.Pointer("UTC"),
Spec: components.CreateSpecDetailedSettlement(
components.DetailedSettlementReportSpec{
Params: map[string]any{
"filters": map[string]any{
"ingested_at": map[string]any{
"end": "day_end",
"start": "day_start",
},
},
},
},
),
})
if err != nil {
log.Fatal(err)
}
if res != nil {
// handle response
}
}package hello.world;
import com.gr4vy.sdk.Gr4vy;
import com.gr4vy.sdk.models.components.*;
import com.gr4vy.sdk.models.errors.*;
import com.gr4vy.sdk.models.operations.AddReportResponse;
import java.lang.Exception;
import java.util.Map;
public class Application {
public static void main(String[] args) throws Exception {
Gr4vy sdk = Gr4vy.builder()
.id("example")
.server(AvailableServers.SANDBOX)
.merchantAccountId("default")
.securitySource(new BearerSecuritySource.Builder(privateKey).build())
.build();
AddReportResponse res = sdk.reports().create()
.reportCreate(ReportCreate.builder()
.name("Monthly Transaction Report")
.schedule(ReportSchedule.DAILY)
.scheduleEnabled(true)
.spec(DetailedSettlementReportSpec.builder()
.params(Map.ofEntries(
Map.entry("filters", Map.ofEntries(
Map.entry("ingested_at", Map.ofEntries(
Map.entry("end", "day_end"),
Map.entry("start", "day_start")))))))
.build())
.scheduleTimezone("UTC")
.build())
.call();
if (res.report().isPresent()) {
System.out.println(res.report().get());
}
}
}declare(strict_types=1);
require 'vendor/autoload.php';
use Gr4vy;
$sdk = Gr4vy\SDK::builder()
->setId('example')
->setServer('sandbox')
->setSecuritySource(Auth::withToken($privateKey))
->setMerchantAccountId('default')
->build();
$reportCreate = new Gr4vy\ReportCreate(
name: 'Monthly Transaction Report',
schedule: '<value>',
scheduleEnabled: true,
scheduleTimezone: 'UTC',
spec: new Gr4vy\Spec(
model: 'detailed_settlement',
params: [
'filters' => [
'ingested_at' => [
'end' => 'day_end',
'start' => 'day_start',
],
],
],
),
);
$response = $sdk->reports->create(
reportCreate: $reportCreate
);
if ($response->report !== null) {
// handle response
}from gr4vy import Gr4vy
import os
with Gr4vy(
id="example",
server="sandbox",
merchant_account_id="default",
bearer_auth=auth.with_token(open("./private_key.pem").read())
) as g_client:
res = g_client.reports.create(name="Monthly Transaction Report", schedule="daily", schedule_enabled=True, spec={
"model": "detailed_settlement",
"params": {
"filters": {
"ingested_at": {
"end": "day_end",
"start": "day_start",
},
},
},
}, schedule_timezone="UTC")
# Handle response
print(res)import { Gr4vy, withToken } from "@gr4vy/sdk";
import fs from "fs";
const gr4vy = new Gr4vy({
id: "example",
server: "sandbox",
merchantAccountId: "default",
bearerAuth: withToken({
privateKey: fs.readFileSync("private_key.pem", "utf8"),
}),
});
async function run() {
const result = await gr4vy.reports.create({
name: "Monthly Transaction Report",
schedule: "daily",
scheduleEnabled: true,
scheduleTimezone: "UTC",
spec: {
model: "detailed_settlement",
params: {
"filters": {
"ingested_at": {
"end": "day_end",
"start": "day_start",
},
},
},
},
});
console.log(result);
}
run();curl --request POST \
--url https://api.sandbox.{id}.gr4vy.app/reports \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"schedule": "<string>",
"schedule_enabled": true,
"spec": {
"model": "<string>",
"params": {}
}
}
'{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"merchant_account_id": "<string>",
"name": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"schedule": "<string>",
"schedule_enabled": true,
"schedule_timezone": "<string>",
"spec": {
"model": "<string>",
"params": {}
},
"type": "report",
"creator_id": "d290f1ee-6c54-4b01-90e6-d701748f0851",
"creator_display_name": "Jane Doe",
"creator_type": "user",
"next_execution_at": "2024-06-01T00:00:00.000Z",
"description": "Monthly transaction summary for May 2024.",
"latest_execution": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"status": "<string>",
"context": {
"reference_timestamp": "2023-11-07T05:31:56Z",
"reference_timezone": "<string>"
},
"type": "report-execution"
}
}{
"type": "error",
"code": "bad_request",
"status": 400,
"message": "Generic error",
"details": []
}{
"type": "error",
"code": "unauthorized",
"status": 401,
"message": "No valid API authentication found",
"details": []
}{
"type": "error",
"code": "forbidden",
"status": 403,
"message": "Generic error",
"details": []
}{
"type": "error",
"code": "not_found",
"status": 404,
"message": "The resource could not be found",
"details": []
}{
"type": "error",
"code": "method_not_allowed",
"status": 405,
"message": "Method Not Allowed",
"details": []
}{
"type": "error",
"code": "duplicate_record",
"status": 409,
"message": "Generic error",
"details": [],
"resource_id": "cdc70639-cb9c-4222-a73f-b8ce39f7821b"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}{
"type": "error",
"code": "too_early",
"status": 425,
"message": "Generic error",
"details": []
}{
"type": "error",
"code": "too_many_requests",
"status": 429,
"message": "Generic error",
"details": []
}{
"type": "error",
"code": "server_error",
"status": 500,
"message": "Request could not be processed",
"details": []
}{
"type": "error",
"code": "bad_gateway",
"status": 502,
"message": "Request could not be processed",
"details": []
}{
"type": "error",
"code": "gateway_timeout",
"status": 504,
"message": "Request could not be processed",
"details": []
}reports.write scope.Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
The ID of the merchant account to use for this request.
"default"
Body
The name of the report.
1 - 100"Monthly Transaction Report"
The schedule for the report.
"daily"
Whether the report schedule is enabled.
true
The report specification.
Show child attributes
Show child attributes
A description of the report.
1 - 1000"Monthly transaction summary for May 2024."
The timezone for the report schedule.
"UTC"
Response
Successful Response
The unique ID for the report.
"a1b2c3d4-5678-90ab-cdef-1234567890ab"
The merchant account ID this report belongs to.
"merchant-account-12345"
The name of the report.
1 - 100"Monthly Transaction Report"
The date this report was created at.
"2024-05-30T12:34:56.000Z"
The date this report was last updated.
"2024-05-30T13:00:00.000Z"
The schedule for the report.
"daily"
Whether the report schedule is enabled.
true
The timezone for the report schedule.
"UTC"
The report specification.
Show child attributes
Show child attributes
Always report.
"report""report"
The ID of the user who created the report.
"d290f1ee-6c54-4b01-90e6-d701748f0851"
The display name of the report creator.
1 - 1000"Jane Doe"
The type of the report creator.
"user"
The next scheduled execution time for the report.
"2024-06-01T00:00:00.000Z"
A description of the report.
1 - 1000"Monthly transaction summary for May 2024."
The latest execution summary for the report.
Show child attributes
Show child attributes