---
updatedAt: 2026-04-22T22:43:25.000Z
agentTools:
  projectIndex: https://developers.akahu.nz/llms.txt
---

# Get Result Status

Get the current status of the one-off data retrieval process.

Your application should poll this endpoint to check the status of the result processing before fetching data from other endpoints. Use the `available_results` flags to know when each type of result is available for your application to fetch.

Once the returned `status` becomes `COMPLETE` or `ERROR`, the result will no longer be updated and your application can stop polling.

# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "Akahu One-Off REST API",
    "description": "Retrieve a one-off snapshot of a user's account data",
    "version": "1.0.0"
  },
  "servers": [
    {
      "url": "https://api.oneoff.akahu.io/v1"
    }
  ],
  "components": {
    "parameters": {
      "Code": {
        "name": "code",
        "in": "path",
        "required": true,
        "description": "The one-off authorization code, provided to your application by redirection to your `redirect_uri` upon the user's successful completion of the authorization flow.",
        "example": "id_1111111111111111111111111",
        "schema": {
          "type": "string"
        }
      },
      "ContentType": {
        "name": "Content-Type",
        "in": "header",
        "schema": {
          "type": "string"
        },
        "example": "application/json"
      }
    },
    "securitySchemes": {
      "app_auth": {
        "type": "http",
        "scheme": "basic",
        "description": "HTTP Basic Auth with the username being your **App ID Token** and the password being your **App Secret**.\n> `Basic {app_token}:{app_secret}`\n\nThis must be included in all requests to the one-off API."
      }
    },
    "responses": {
      "400": {
        "description": "Your request was malformed or otherwise unacceptable. More details are provided under the `message` key in the response.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "success": {
                  "type": "boolean",
                  "example": false
                },
                "message": {
                  "type": "string",
                  "example": "Invalid Content-Type"
                }
              }
            }
          }
        }
      },
      "401": {
        "description": "You are not authorised to access this content.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "success": {
                  "type": "boolean",
                  "example": false
                },
                "message": {
                  "type": "string",
                  "example": "Permission Denied"
                }
              }
            }
          }
        }
      },
      "403": {
        "description": "You are not allowed to access this content.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "success": {
                  "type": "boolean",
                  "example": false
                },
                "message": {
                  "type": "string",
                  "example": "Forbidden"
                }
              }
            }
          }
        }
      },
      "500": {
        "description": "An internal error has prevented us from processing the request. More detail may be supplied in the `message` key.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "success": {
                  "type": "boolean",
                  "example": false
                },
                "message": {
                  "type": "string",
                  "example": "Something went wrong"
                }
              }
            }
          }
        }
      }
    },
    "schemas": {
      "Status": {
        "type": "object",
        "required": [
          "connection",
          "status",
          "available_results",
          "expires_at",
          "created_at"
        ],
        "properties": {
          "connection": {
            "type": "object",
            "description": "Information about institution that the user connected their accounts from (eg. ANZ bank).",
            "required": [
              "_id",
              "name",
              "logo"
            ],
            "properties": {
              "_id": {
                "type": "string",
                "description": "A unique identifier for this institution, prefixed by `conn_`.",
                "example": "conn_cjgaawozb000001nyd111xixr"
              },
              "name": {
                "type": "string",
                "description": "The name of the institution.",
                "example": "ANZ"
              },
              "logo": {
                "type": "string",
                "format": "uri",
                "description": "A URL pointing to a .png image of the institution's logo.",
                "example": "https://cdn.akahu.nz/logos/connections/conn_cjgaawozb000001nyd111xixr"
              }
            }
          },
          "status": {
            "type": "string",
            "enum": [
              "PROCESSING",
              "COMPLETE",
              "ERROR"
            ],
            "example": "COMPLETE",
            "description": "The status of the one-off data retrieval process:\n\n- `PROCESSING` → Akahu is still processing the result. Expect the status to shortly progress to either `COMPLETE` or `ERROR`.\n- `COMPLETE` → Akahu has finished processing the result and it is available for your application to retrieve.\n- `ERROR` → There was an error that meant the result could not be processed. See `status_reason` for more detail."
          },
          "status_reason": {
            "type": "string",
            "enum": [
              "TIMEOUT",
              "PROCESSING_ERROR"
            ],
            "example": "PROCESSING_ERROR"
          },
          "available_results": {
            "type": "object",
            "description": "A collection of boolean flags to indicate which results are available for fetching.\n\nWhile the result has a status of `PROCESSING`, these flags will be updated as data becomes available. This allows your application to fetch data and provide progress feedback to the user as quickly as possible.\n\nIn general, `accounts`, `parties`, and `pdfs` results will be available almost immediately. Transactions undergo additional asynchronous processing, so may take a few seconds to become available.\n\nOnce the result is assigned the `COMPLETE` state, these flags will no longer change.",
            "properties": {
              "accounts": {
                "type": "boolean",
                "example": true,
                "description": "Account data is available to be fetched"
              },
              "parties": {
                "type": "boolean",
                "example": true,
                "description": "Party data is available to be fetched"
              },
              "transactions": {
                "type": "boolean",
                "example": true,
                "description": "Transaction data is available to be fetched"
              },
              "pdfs": {
                "type": "boolean",
                "example": true,
                "description": "PDF files are available to be fetched"
              }
            }
          },
          "available_accounts_count": {
            "type": "integer",
            "example": 5,
            "deprecated": true,
            "description": "**Deprecated**\n\nThis field is not available for official open banking connections.\n\nThe total number of accounts that were available for the user to share with your application. They may have chosen a subset of these to share, which will be available from the [`GET /accounts/{code}`](/reference/get_accounts-code) endpoint."
          },
          "expires_at": {
            "type": "string",
            "format": "date-time",
            "description": "When this result expires. After expiry it will no longer be accessible. Formatted as an ISO 8601 timestamp."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "Formatted as an ISO 8601 timestamp."
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "Formatted as an ISO 8601 timestamp."
          }
        }
      }
    }
  },
  "tags": [
    {
      "name": "Status"
    }
  ],
  "paths": {
    "/status/{code}": {
      "get": {
        "tags": [
          "Status"
        ],
        "summary": "Get Result Status",
        "security": [
          {
            "app_auth": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/Code"
          },
          {
            "$ref": "#/components/parameters/ContentType"
          }
        ],
        "description": "Get the current status of the one-off data retrieval process.\n\nYour application should poll this endpoint to check the status of the result processing before fetching data from other endpoints. Use the `available_results` flags to know when each type of result is available for your application to fetch.\n\nOnce the returned `status` becomes `COMPLETE` or `ERROR`, the result will no longer be updated and your application can stop polling.",
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Status"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        }
      }
    }
  }
}
```