> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rolla.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Issuance Requirements

> Shows which provider will be used for the given currency, the details prefilled from the account's application, and anything still missing before a bank account can be issued. Use this to know exactly what to pass in `accountData` when issuing.

Shows everything needed to issue a bank account for the given currency: which provider will be used, the details prefilled from the account's application, and anything still missing. Whatever is missing can be supplied via `accountData` when calling [Issue Bank Account](/api-reference/endpoint/accounts/issue-bank-account).

## Example Request

```bash theme={null}
curl -X GET "https://api.rolla.xyz/api/v1/external/accounts/eec3cbed-79d8-4370-87a0-b6be9e287337/bank-accounts/requirements?currency=NGN" \
  -H "X-API-Key: your_api_key_here"
```

## Example Response

### NGN

```json theme={null}
{
  "success": true,
  "message": "Bank account requirements retrieved successfully",
  "data": {
    "currency": "NGN",
    "provider": "rolla",
    "applicationApproved": true,
    "requiredFields": ["businessName", "businessIdentifier", "mobileNum", "bvn"],
    "missingFields": ["bvn"],
    "prefilled": {
      "businessName": "Beta Logistics LLC",
      "businessIdentifier": "LLC-123987",
      "mobileNum": "+13025550124",
      "bvn": ""
    }
  }
}
```

### USD

```json theme={null}
{
  "success": true,
  "message": "Bank account requirements retrieved successfully",
  "data": {
    "currency": "USD",
    "provider": "rolla",
    "applicationApproved": true,
    "onboardingState": null,
    "prefilled": {
      "onboardingDetails": {
        "businessInfo": { "name": "Beta Logistics LLC", "taxId": "98-7654321" },
        "businessAddress": { "line1": "77 Commerce Ave", "city": "Wilmington", "state": "DE", "postalCode": "19801", "country": "US" }
      },
      "representatives": [
        { "firstName": "Jane", "lastName": "Doe", "relatedPersonId": "a3d4f21e-f499-488f-8508-43228dfea485", "ownershipPercentage": 75, "isSigner": true }
      ],
      "kybDocs": [
        { "id": "0c95b2a1-7a93-4a3a-9a52-2a1f0b9b3c11", "type": "certificate_of_incorporation", "source": "rolla" }
      ]
    },
    "availableDocuments": {
      "business": [],
      "representatives": []
    }
  }
}
```

## Response Fields

| Field                              | Description                                                                          |
| ---------------------------------- | ------------------------------------------------------------------------------------ |
| `provider`                         | Provider that will issue the account, chosen by currency and account type            |
| `applicationApproved`              | Bank accounts can only be issued once the application is approved                    |
| `requiredFields` / `missingFields` | NGN: fields the provider requires and which are still empty                          |
| `onboardingState`                  | USD: provider onboarding state, `null` until first submission                        |
| `prefilled`                        | The payload that will be sent, built from the account's application                  |
| `availableDocuments`               | USD: documents that will be attached, from the application and identity verification |


## OpenAPI

````yaml GET /accounts/{accountId}/bank-accounts/requirements
openapi: 3.1.0
info:
  title: Rolla Developer API
  description: >-
    API for programmatic transaction management on the Rolla platform. Monetary
    `amount` fields use the smallest unit of the referenced currency unless an
    endpoint says otherwise (e.g. NGN = kobo, USD = cents, where **100 cents =
    USD 1.00**).
  version: 1.0.0
servers:
  - url: https://api.rolla.xyz/api/v1/external
    description: Production server
security:
  - apiKeyAuth: []
paths:
  /accounts/{accountId}/bank-accounts/requirements:
    get:
      summary: Get Issuance Requirements
      description: >-
        Shows which provider will be used for the given currency, the details
        prefilled from the account's application, and anything still missing
        before a bank account can be issued. Use this to know exactly what to
        pass in `accountData` when issuing.
      operationId: getBankAccountRequirements
      parameters:
        - name: accountId
          in: path
          required: true
          description: >-
            Identifier of an account owned by the same user as your API key's
            business
          schema:
            type: string
            format: uuid
        - name: currency
          in: query
          required: true
          schema:
            type: string
            enum:
              - NGN
              - USD
      responses:
        '200':
          description: Requirements retrieved
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  message:
                    type: string
                    example: Bank account requirements retrieved successfully
                  data:
                    type: object
                    properties:
                      currency:
                        type: string
                      applicationApproved:
                        type: boolean
                      requiredFields:
                        type: array
                        items:
                          type: string
                        description: NGN only
                      missingFields:
                        type: array
                        items:
                          type: string
                        description: NGN only
                      onboardingState:
                        type: string
                        nullable: true
                        description: USD only
                      prefilled:
                        type: object
                        additionalProperties: true
                      availableDocuments:
                        type: object
                        description: USD only
                        additionalProperties: true
        '400':
          description: Invalid currency
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Invalid or missing API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Account not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    Error:
      type: object
      properties:
        success:
          type: boolean
          example: false
        message:
          type: string
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: Your Rolla API key

````