---
title: "Get a Forwarding Request"
method: GET
path: "/forwarding/requests/{id}"
tags: ["Forwarding"]
---

# Get a Forwarding Request

`GET /forwarding/requests/{id}`

## Request

- Base URL: `https://api.justifi.ai/v1`
- URL: `https://api.justifi.ai/v1/forwarding/requests/{id}`
- Auth: none declared. Required headers: `Authorization`
- TypeScript: <https://skmtc.dev/justifi/apis/justifi-api-documentation/docs/forwarding/requests/:id/get.ts> (a function with typed inputs; its response is checked against the schema)

Retrieve a forwarding request, and the destination's response once there is one.

While `status` is `pending` or `processing`, `response` is `null`. Once `status` is `completed`,
`response` holds the status code, body and headers the destination answered with — a `completed`
forwarding request means the destination answered, not that it accepted the request, so check
`response.status_code`. Once `status` is `failed`, `response` stays `null` and `failure_reason`
explains why the destination could not be reached.

Card details are never returned in readable form. The card number renders as its last four digits
in `request.body`, every value in `request.headers` renders as `[FILTERED]`, and anything in the
destination's response that looks like a card number is reduced to its last four digits.

## Path parameters

- `id` string, uuid, required

## Headers

- `Authorization` string, required
- `Sub-Account` string

## Response `200`

Successfully get forwarding request

- object
  - `id` string, uuid: the object id, also found in the data object
  - `type` string: the object type, or array of objects
  - `data` object: the attributes for the object
    - `id` string: unique id of the forwarding request
    - `account_id` string, nullable: the sub account that owns the payment method the request was created from
    - `payment_method_id` string, nullable: the payment method whose card details are substituted into the request body
    - `url` string: the allow-listed destination the request is sent to
    - `http_method` 'POST': the HTTP method used to reach the destination, determined by the destination itself
    - `provider` 'stripe': the destination provider, determined by the destination itself
    - `status` 'pending' | 'processing' | 'completed' | 'failed': `pending` — accepted and queued, nothing has been sent yet; `processing` — the request is being sent and the outcome is not known yet; `completed` — the destination answered, see `data.response.status_code` for the outcome; `failed` — the destination could not be reached, see `failure_reason`.
    - `failure_reason` 'timeout' | 'connection_error' | 'internal_error', nullable: why the destination could not be reached, `null` unless `status` is `failed`. `timeout` — the destination did not answer in time; `connection_error` — the connection or TLS handshake failed; `internal_error` — JustiFi failed to send the request.
    - `replacements` string[]: the card tags JustiFi found in the request body and substituted before sending
    - `request` object: what was sent to the destination, masked
      - `body` object, nullable: the request body as it was sent, with card details masked. The card number renders as its last four digits; the expiration date and cardholder name render in the clear.
      - `headers` object: the headers as they were sent, with every value replaced by `[FILTERED]`. Header names are kept so you can confirm what was relayed; values are never stored in readable form.
    - `response` object, nullable: the destination's response, `null` until the destination has answered
      - `id` string: unique id of the forwarding response
      - `status_code` integer: the HTTP status code the destination answered with
      - `body` unknown
      - `headers` unknown
      - `response_time_ms` integer, nullable: how long the destination took to answer, in milliseconds
    - `attempted_at` string, date-time, nullable: when JustiFi started sending the request (in UTC), `null` while the request is still queued
    - `created_at` string, date-time
    - `updated_at` string, date-time
  - `page_info` unknown

## Other responses

- `404`: No forwarding request with that id exists on this sub account.

---

[API](https://skmtc.dev/justifi/apis/justifi-api-documentation.md) - [All operations](https://skmtc.dev/justifi/apis/justifi-api-documentation/llms.txt) - [OpenAPI document](https://skmtc.dev/justifi/apis/justifi-api-documentation/revisions/dd9f3fed7e46?raw)
