Skip to main content
POST
/
account-updater
/
jobs
C#
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.AccountUpdater.Jobs.CreateAsync(accountUpdaterJobCreate: new AccountUpdaterJobCreate() {
    PaymentMethodIds = new List<string>() {
        "ef9496d8-53a5-4aad-8ca2-00eb68334389",
        "f29e886e-93cc-4714-b4a3-12b7a718e595",
    },
});

// handle response
package main

import(
	"context"
	"os"
	gr4vygo "github.com/gr4vy/gr4vy-go"
	"github.com/gr4vy/gr4vy-go/models/components"
	"log"
)

func main() {
    ctx := context.Background()

    s := gr4vygo.New(
        gr4vygo.WithMerchantAccountID("default"),
        gr4vygo.WithSecurity(os.Getenv("GR4VY_BEARER_AUTH")),
    )

    res, err := s.AccountUpdater.Jobs.Create(ctx, components.AccountUpdaterJobCreate{
        PaymentMethodIds: []string{
            "ef9496d8-53a5-4aad-8ca2-00eb68334389",
            "f29e886e-93cc-4714-b4a3-12b7a718e595",
        },
    })
    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.AccountUpdaterJobCreate;
import com.gr4vy.sdk.models.errors.*;
import com.gr4vy.sdk.models.operations.CreateAccountUpdaterJobResponse;
import java.lang.Exception;
import java.util.List;

public class Application {

    public static void main(String[] args) throws Exception {

        Gr4vy sdk = Gr4vy.builder()
                .merchantAccountId("default")
                .bearerAuth(System.getenv().getOrDefault("BEARER_AUTH", ""))
            .build();

        CreateAccountUpdaterJobResponse res = sdk.accountUpdater().jobs().create()
                .accountUpdaterJobCreate(AccountUpdaterJobCreate.builder()
                    .paymentMethodIds(List.of(
                        "ef9496d8-53a5-4aad-8ca2-00eb68334389",
                        "f29e886e-93cc-4714-b4a3-12b7a718e595"))
                    .build())
                .call();

        if (res.accountUpdaterJob().isPresent()) {
            System.out.println(res.accountUpdaterJob().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();

$accountUpdaterJobCreate = new Gr4vy\AccountUpdaterJobCreate(
    paymentMethodIds: [
        'ef9496d8-53a5-4aad-8ca2-00eb68334389',
        'f29e886e-93cc-4714-b4a3-12b7a718e595',
    ],
);

$response = $sdk->accountUpdater->jobs->create(
    accountUpdaterJobCreate: $accountUpdaterJobCreate
);

if ($response->accountUpdaterJob !== 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.account_updater.jobs.create(payment_method_ids=[
        "ef9496d8-53a5-4aad-8ca2-00eb68334389",
        "f29e886e-93cc-4714-b4a3-12b7a718e595",
    ])

    assert res is not None

    # 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.accountUpdater.jobs.create({
    paymentMethodIds: [
      "ef9496d8-53a5-4aad-8ca2-00eb68334389",
      "f29e886e-93cc-4714-b4a3-12b7a718e595",
    ],
  });

  console.log(result);
}

run();
curl --request POST \
  --url https://api.sandbox.{id}.gr4vy.app/account-updater/jobs \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "payment_method_ids": [
    "3c90c3cc-0d44-4b50-8888-8dd25736052a"
  ]
}
'
{
  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "merchant_account_id": "<string>",
  "inquiries": [
    {
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "payment_method_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "type": "account-updater-inquiry"
    }
  ],
  "created_at": "2023-11-07T05:31:56Z",
  "updated_at": "2023-11-07T05:31:56Z",
  "type": "account-updater-job"
}
{
  "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>"
    }
  ]
}
{
  "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": []
}
This endpoint requires the payment-methods.write scope.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

x-gr4vy-merchant-account-id
string

The ID of the merchant account to use for this request.

Example:

"default"

Body

application/json
payment_method_ids
string<uuid>[]
required

A list of payment method IDs to request an update for.

Required array length: 1 - 100 elements
Example:
[
  "ef9496d8-53a5-4aad-8ca2-00eb68334389",
  "f29e886e-93cc-4714-b4a3-12b7a718e595"
]

Response

A scheduled account updater job when one or more payment methods were scheduled for update.

id
string<uuid>
required

The ID for the account updater job.

Example:

"cc18c7c6-c1d4-4194-92a7-d5a985108b68"

merchant_account_id
string
required

The ID of the merchant account this job belongs to.

Example:

"default"

inquiries
AccountUpdaterInquirySummary · object[]
required

A list of the payment methods that have been scheduled for an update.

created_at
string<date-time>
required

The date and time when this payment method was first created in our system.

Example:

"2013-07-16T19:23:00.000+00:00"

updated_at
string<date-time>
required

The date and time when this payment method was last updated in our system.

Example:

"2013-07-16T19:23:00.000+00:00"

type
string
default:account-updater-job

Always account-updater-job

Allowed value: "account-updater-job"
Example:

"account-updater-job"