openapi: 3.0.0
servers:
  - url: 'https://api.devbank.apiture.com/checkDeposits'
info:
  title: Check Deposits
  description: >
    The Check Deposits API allows bank customers to use their mobile or web applications to take photographs or scans of endorsed paper checks and
    submit them for deposit into an existing account.


    A check deposit is a batch of one or more checks to be deposited to an account.


    To deposit checks, a user can create a check deposit resource and add check resources to it. The `apiture:uploadFrontImage` and
    `apiture:uploadBackImage` links found on a check can be used to upload JPEG formatted check images. After a check is created and front and back
    images uploaded, the check must be processed to determine if it is eligible to submit. A check can be processed asyncronously using the
    `apiture:process` link on the check resource, or all checks with `pending` state in a check deposit can be processed asyncronously by using the
    `apiture:process` link on the check deposit resource. When processing completes, each check may contain risk warnings, risk errors, or risk
    rejections.

      * `riskWarnings` are not required to be resolved, but may be useful to resolve potential issues.
      * `riskErrors` must be resolved in order to submit the check deposit. Errors may be fixed by reuploading images or correcting check data.
      * `riskRejections` indicate the check is not suitable for deposit, and the check must be removed from the check deposit.

    All checks in a check deposit must finish processing with `valid` state in order to submit the check deposit.


    The **Check Deposit** state may be one of the following:
      - `pending` In creation, not yet submitted for deposit. The user can add checks and make modifications to the check deposit.
      - `processing` One or more checks in the check deposit are processing.
      - `valid` The check deposit is eligible to submit.
      - `invalid` The check deposit is not eligible to submit. It has one or more checks that must be corrected.
      - `submitted` Submitted and is awaiting FI (Financial Institution) judgement. A `submitted` check deposit is read only.
      - `accepted` All checks were approved by the FI and processed for deposit. An `accepted` check deposit is read only.
      - `rejected` All checks were rejected by the FI and not processed for deposit. A `rejected` check deposit is read only.
      - `acceptedWithRejections` One or more checks in the check deposit were accepted for deposit, but one or more were rejected. An `acceptedWithRejections` check deposit is read only.


    The **Check** state may be one of the following:
      - `pending` In creation, not submitted yet.
      - `processing` Uploaded, awaiting image processing.
      - `valid` Check has finished processing and is eligible to submit. The check may contain warnings.
      - `invalid` Check has finished processing and is not eligible to submit. It has one or more errors that must be corrected before becoming eligible to submit.
      - `submitted`  Check was submitted and is awaiting FI judgement before deposit. A `submitted` check is read only.
      - `accepted` Check was accepted by the FI and deposited. Terminal. An `accepted` check is read only.
      - `rejected` Check was rejected by the FI and not deposited. Terminal. A `rejected` check is read only.


    If a check deposit is eligible to submit, the `apiture:submit` link can be used to submit the batch of checks for deposit. The checks are reviewed
    by the FI, either through an automated system or an admin. If the FI accepts a check, it is deposited and set to `accepted` state. If the FI
    rejects a check, it is not deposited and is set to `rejected` state.



    # Error Types


    Error responses in this API may have one of the `type` values described below.

    See [Errors](https://developer.apiture.com/docs/concepts/errors) for more information

    on error responses and error types.




    <h2 class='errorType' id="err-checkImageNotFound">checkImageNotFound</h2>


    **Description**: No image was found for the specified checkId and image type. <br>

    **Remediation**: Check to make sure the check image has completed uploading and/or processing.



    <h2 class='errorType' id="err-emptyRequestBody">emptyRequestBody</h2>


    **Description**: The supplied request body was empty. <br>

    **Remediation**: Check to make sure the body is included in your request.



    <h2 class='errorType' id="err-inProgressCheckDeposit">inProgressCheckDeposit</h2>


    **Description**: The user has a check deposit in progress and is not allowed to create another. <br>

    **Remediation**: Submit or cancel the existing check deposit and try again.



    <h2 class='errorType' id="err-invalidAccount">invalidAccount</h2>


    **Description**: The supplied account reference was malformed. <br>

    **Remediation**: Check to make sure that the supplied `account` parameter corresponds to an Apiture account resource.



    <h2 class='errorType' id="err-invalidCheckDepositState">invalidCheckDepositState</h2>


    **Description**: Actions on check deposits may only be performed if they are in a valid state. <br>

    **Remediation**: Check the state of the check deposit and the allowable states for the requested operation.



    <h2 class='errorType' id="err-invalidCheckId">invalidCheckId</h2>


    **Description**: No Checks were found for the specified checkId. <br>

    **Remediation**: Check to make sure that the supplied checkId corresponds to an apiture check resource.



    <h2 class='errorType' id="err-invalidCheckState">invalidCheckState</h2>


    **Description**: Actions on checks may only be performed if they are in a valid state. <br>

    **Remediation**: Check the state of the check and the allowable states for the requested operation.



    <h2 class='errorType' id="err-invalidChecks">invalidChecks</h2>


    **Description**: One or more checks are invalid to perform the requested operation. <br>

    **Remediation**: Verify all of the checks are valid and do not contain errors.



    <h2 class='errorType' id="err-invalidDepositId">invalidDepositId</h2>


    **Description**: No Deposits were found for the specified depositId. <br>

    **Remediation**: Check to make sure that the supplied depositId corresponds to an apiture deposit resource.



    <h2 class='errorType' id="err-invalidGroupName">invalidGroupName</h2>


    **Description**: No configurationGroup was found for the specified groupName. <br>

    **Remediation**: Check to make sure that the supplied groupName corresponds to an apiture transfer configuration group resource.



    <h2 class='errorType' id="err-invalidValueName">invalidValueName</h2>


    **Description**: No configurationName was found for the specified valueName. <br>

    **Remediation**: Check to make sure that the supplied valueName corresponds to an apiture transfer configuration value resource.
  version: 0.8.0
  contact:
    name: Apiture
    url: 'https://developer.apiture.com'
    email: api@apiture.com
  termsOfService: 'https://developer.apiture.com/docs/Apiture-Open-API-License-Agreement.pdf'
tags:
  - name: Check Deposits
    description: Deposit checks into a Bank Account
  - name: Checks
    description: Checks included in a Check Deposit batch
  - name: Configuration
    description: A set of endpoints that allows for the creation and retrieval of configuration options specific to this service
  - name: Limits
    description: Limits on the Amount or Number of check Deposits
  - name: Configuration
    description: Check Deposits Service Configuration
  - name: API
    description: Endpoints which describe this API.
paths:
  /checkDeposits:
    get:
      summary: Return a collection of check deposits
      description: >-
        Return a [paginated](https://developer.apiture.com/docs/concepts/pagination) [sortable](https://developer.apiture.com/docs/concepts/sorting)
        [filterable](https://developer.apiture.com/docs/concepts/filtering) [searchable](https://developer.apiture.com/docs/concepts/searchable)
        collection of check deposits. The [links](https://developer.apiture.com/docs/concepts/links) in the response include pagination links.
      operationId: getCheckDeposits
      security:
        - apiKey: []
          accessToken:
            - banking/read
      x-apiture-implemented: true
      tags:
        - Check Deposits
      x-apiture-traits:
        sortBy:
          - state
          - createdAt
        itemSchema: checkDeposits
        filters:
          state:
            filter:
              - eq
              - ne
              - in
          createdAt:
            filter:
              - eq
              - ne
              - in
      parameters:
        - name: start
          in: query
          description: The zero-based index of the first check deposit item to include in this page. The default 0 denotes the beginning of the collection.
          schema:
            type: integer
            format: int64
            default: 0
        - name: limit
          in: query
          description: The maximum number of check deposit representations to return in this page.
          schema:
            type: integer
            format: int32
            default: 100
        - name: sortBy
          in: query
          description: >-
            Optional sort criteria. See [sort criteria format](https://developer.apiture.com/docs/concepts/sorting), such as
            `?sortBy=field1,-field2`.<br>This collection may be sorted by following properties:<br>&bullet; `state`<br>&bullet; `createdAt`
          schema:
            type: string
        - $ref: '#/components/parameters/stateQueryParam'
        - name: filter
          in: query
          description: >-
            Optional filter criteria. See [filtering](https://developer.apiture.com/docs/concepts/filtering).<br>This collection may be filtered by
            following properties and functions:<br>&bullet;  Property `state` using functions `eq`,  `ne`,  `in`<br>&bullet;  Property `createdAt`
            using functions `eq`,  `ne`,  `in`
          schema:
            type: string
        - $ref: '#/components/parameters/qQueryParam'
      responses:
        '200':
          description: OK
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/checkDeposits'
            application/json:
              schema:
                $ref: '#/components/schemas/checkDeposits'
        '400':
          $ref: '#/components/responses/400'
        '422':
          $ref: '#/components/responses/422'
    post:
      summary: Create a new check deposit
      description: >-
        Create a new check deposit to add checks and submit a deposit. A check deposit must be used to submit a deposit, individual check resources
        can't be submitted.


        The new check deposit representation contains the eligible target accounts in `_embedded.eligibleAccounts`.


        The `apiture:target` link specifies the account resource where the check deposit is deposited.

        The user can provide an optional `enteredAmount` when creating a check deposit. This is the expected total batch amount of all checks, and can
        be used as verification against the check amounts later scanned by OCR (optical character recognition).


        Device data may be provided to identify the client device and aid the deposit verification process. It is recommended to provide as much
        device data as possible.


        After creating a check deposit, use the `createCheck` operation (the `apiture:createCheck` link) to add checks to it, then use the
        `processCheckDeposit` operation (the `apiture:process` link) to process the checks to verify the check contents. If all the checks are valid,
        follow that with the `submitCheckDeposit` (the `apiture:process` link) operation to submit the valid checks for deposit.
      operationId: createCheckDeposit
      security:
        - apiKey: []
          accessToken:
            - banking/write
      x-apiture-implemented: true
      tags:
        - Check Deposits
      parameters:
        - $ref: '#/components/parameters/continueSessionParam'
      responses:
        '201':
          description: Created
          headers:
            Location:
              description: >-
                The URI of the new resource. If the URI begins with / it is relative to the API root context. Else, it is a full URI starting with
                *`scheme`*`://host`
              schema:
                type: string
                format: uri
            ETag:
              description: >-
                The `ETag` response header specifies an entity tag which must be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
                operations which update the resource.
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/checkDepositWithEligibleAccounts'
            application/json:
              schema:
                $ref: '#/components/schemas/checkDepositWithEligibleAccounts'
        '400':
          $ref: '#/components/responses/400'
        '409':
          $ref: '#/components/responses/409CreateCheckDepositConflict'
      requestBody:
        content:
          application/hal+json:
            schema:
              $ref: '#/components/schemas/createCheckDeposit'
          application/json:
            schema:
              $ref: '#/components/schemas/createCheckDeposit'
        description: The data necessary to create a new check deposit.
        required: true
  '/checkDeposits/{depositId}':
    get:
      summary: Fetch a check deposit
      description: Return a HAL representation of this check deposit resource.
      operationId: getCheckDeposit
      x-apiture-implemented: true
      tags:
        - Check Deposits
      security:
        - apiKey: []
          accessToken:
            - banking/read
      parameters:
        - $ref: '#/components/parameters/depositIdPathParam'
        - $ref: '#/components/parameters/ifNoneMatchHeaderParam'
      responses:
        '200':
          description: OK
          headers:
            ETag:
              description: >-
                The `ETag` response header specifies an entity tag which must be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
                operations which update this check deposit resource.
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/checkDeposit'
            application/json:
              schema:
                $ref: '#/components/schemas/checkDeposit'
        '304':
          $ref: '#/components/responses/304'
        '404':
          $ref: '#/components/responses/404Deposit'
    patch:
      summary: Modify this check deposit resource
      description: >-
        Modify this check deposit. The `apiture:target` link, `description`, and `enteredAmount` are the only editable fields. The check deposit must
        have state `pending`, `processing`, `valid`, or `invalid`.
      operationId: patchCheckDeposit
      x-apiture-implemented: true
      tags:
        - Check Deposits
      parameters:
        - $ref: '#/components/parameters/ifMatchHeaderParam'
        - $ref: '#/components/parameters/depositIdPathParam'
      responses:
        '200':
          description: OK
          headers:
            ETag:
              description: >-
                The `ETag` response header specifies an entity tag which must be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
                operations which update the resource.
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/checkDeposit'
            application/json:
              schema:
                $ref: '#/components/schemas/checkDeposit'
        '400':
          $ref: '#/components/responses/400'
        '404':
          $ref: '#/components/responses/404Deposit'
      security:
        - apiKey: []
          accessToken:
            - banking/write
      requestBody:
        content:
          application/hal+json:
            schema:
              $ref: '#/components/schemas/checkDeposit'
          application/json:
            schema:
              $ref: '#/components/schemas/checkDeposit'
        description: 'The data necessary to update the check deposit, the `apiture:target` link, `description`, and `enteredAmount` are the only editable fields.'
        required: true
    delete:
      summary: Delete this check deposit resource
      description: >-
        Delete this check deposit resource and any resources that are owned by it. This operation deletes any checks included in the check deposit.
        The check deposit must have state `pending`, `processing`, `valid`, or `invalid`.
      operationId: deleteCheckDeposit
      x-apiture-implemented: true
      tags:
        - Check Deposits
      parameters:
        - $ref: '#/components/parameters/ifMatchHeaderParam'
        - $ref: '#/components/parameters/depositIdPathParam'
      responses:
        '204':
          $ref: '#/components/responses/204Deleted'
        '404':
          $ref: '#/components/responses/404Deposit'
        '412':
          $ref: '#/components/responses/412'
      security:
        - apiKey: []
          accessToken:
            - banking/delete
  /submittedCheckDeposits:
    post:
      summary: Submit a check deposit
      description: >-
        Submit a check deposit that is eligible to be submitted. This operation is invoked from the `apiture:submit` link on a check deposit, which
        only exists if the action is allowed. If successful, this changes the state to `submitted`.


         The `apiture:target` link in the referenced check deposit must be a valid account resource URI;
         it names the account where the checks are deposited.
         A check deposit can only be submitted to a single target account.
      operationId: submitCheckDeposit
      security:
        - apiKey: []
          accessToken:
            - banking/write
      x-apiture-implemented: true
      tags:
        - Check Deposits
      parameters:
        - $ref: '#/components/parameters/depositIdQueryParam'
      responses:
        '200':
          description: OK
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/checkDeposit'
            application/json:
              schema:
                $ref: '#/components/schemas/checkDeposit'
        '400':
          $ref: '#/components/responses/400'
        '404':
          $ref: '#/components/responses/404Deposit'
        '409':
          $ref: '#/components/responses/409CheckDepositStateConflict'
  /processedCheckDeposits:
    post:
      summary: Process checks in a check deposit
      description: >-
        Process all checks in a check deposit which have state `pending`.


        This operation is invoked from the `apiture:process` link on a check deposit. All checks with `pending` state on the check deposit are
        processed asyncronously. Checks which are currently being processed or have finished processing with state `valid` or `invalid` are ignored.


        If any checks have not been processed yet, this returns 202 Accepted and no response body. The response includes a `Retry-After` response
        header with a recommended retry interval in seconds. If all checks have finished processing, the operations returns 200 OK and the response
        body is the updated check deposit resource.
      operationId: processCheckDeposit
      security:
        - apiKey: []
          accessToken:
            - banking/write
      x-apiture-implemented: true
      tags:
        - Check Deposits
      parameters:
        - $ref: '#/components/parameters/depositIdQueryParam'
      responses:
        '200':
          description: OK. The request has succeeded.
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/checkDeposit'
            application/json:
              schema:
                $ref: '#/components/schemas/checkDeposit'
        '202':
          description: 'Accepted. The request has been accepted for processing, but the processing has not been completed.'
          headers:
            Retry-After:
              description: |-
                Indicates a suggested delay in seconds after which the client should retry the operation.
                Example: `Retry-After: 5`
              schema:
                type: string
        '400':
          $ref: '#/components/responses/400'
        '404':
          $ref: '#/components/responses/404Deposit'
        '409':
          $ref: '#/components/responses/409CheckDepositStateConflict'
  '/checkDeposits/{depositId}/checks':
    post:
      summary: Add a check to the check deposit batch
      description: >-
        Create a new check in the check deposit. A check must reside inside a check deposit resource. Checks can only be added to check deposits that
        have state `pending`, `processing`, `valid`, or `invalid`.

        Device data may be provided to identify the client device. The device data for each check may be compared to the device data for other checks
        or the parent check deposit to aid verification. It is recommended to provide as much device data as possible.


        The check in the response body includes `apiture:uploadFrontImage` and `apiture:uploadBackImage` links which the client should use to upload
        check images. Images must be uploaded in JPEG format.


        After images have been successfully uploaded, `apiture:frontImageContent` and `apiture:backImageContent` links can be used to download image
        contents.


        A check must be processed by using the `apiture:process` link before it can be submitted. The check must have successfully uploaded front and
        back images in order to be processed.
      operationId: createCheck
      security:
        - apiKey: []
          accessToken:
            - banking/write
      x-apiture-implemented: true
      tags:
        - Checks
      parameters:
        - $ref: '#/components/parameters/depositIdPathParam'
      responses:
        '201':
          description: Created
          headers:
            Location:
              description: >-
                The URI of the new resource. If the URI begins with / it is relative to the API root context. Else, it is a full URI starting with
                *`scheme`*`://host`
              schema:
                type: string
                format: uri
            ETag:
              description: >-
                The `ETag` response header specifies an entity tag which must be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
                operations which update the resource.
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/check'
            application/json:
              schema:
                $ref: '#/components/schemas/check'
        '400':
          $ref: '#/components/responses/400'
        '404':
          $ref: '#/components/responses/404Deposit'
        '409':
          $ref: '#/components/responses/409CheckDepositStateConflict'
      requestBody:
        content:
          application/hal+json:
            schema:
              $ref: '#/components/schemas/createCheck'
          application/json:
            schema:
              $ref: '#/components/schemas/createCheck'
        description: The data necessary to create a new check.
        required: true
  '/checkDeposits/{depositId}/checks/{checkId}':
    get:
      summary: Fetch a check
      description: Fetch a HAL representation of this check resource
      operationId: getCheck
      x-apiture-implemented: true
      tags:
        - Checks
      security:
        - apiKey: []
          accessToken:
            - banking/read
      parameters:
        - $ref: '#/components/parameters/depositIdPathParam'
        - $ref: '#/components/parameters/checkIdPathParam'
        - $ref: '#/components/parameters/ifNoneMatchHeaderParam'
      responses:
        '200':
          description: OK
          headers:
            ETag:
              description: >-
                The `ETag` response header specifies an entity tag which must be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
                operations which update this check deposit resource.
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/check'
            application/json:
              schema:
                $ref: '#/components/schemas/check'
        '304':
          $ref: '#/components/responses/304'
        '404':
          $ref: '#/components/responses/404Check'
    patch:
      summary: Modify a check in the deposit
      description: >-
        Modify check data. `enteredAmount` and `description` are the only editable fields.


        Checks may not be modified if they have state `submitted`, `accepted`, or `rejected`.


        If a check has state `processing`, `valid`, or `invalid`, modifying the check `enteredAmount` invalidates the image analysis, resets the check
        to `pending`, and must be processed again.
      operationId: patchCheck
      security:
        - apiKey: []
          accessToken:
            - banking/write
      x-apiture-implemented: true
      tags:
        - Checks
      parameters:
        - $ref: '#/components/parameters/depositIdPathParam'
        - $ref: '#/components/parameters/checkIdPathParam'
        - $ref: '#/components/parameters/ifMatchHeaderParam'
      responses:
        '200':
          description: OK
          headers:
            ETag:
              description: >-
                The `ETag` response header specifies an entity tag which must be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
                operations which update the resource.
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/check'
            application/json:
              schema:
                $ref: '#/components/schemas/check'
        '400':
          $ref: '#/components/responses/400'
        '404':
          $ref: '#/components/responses/404Deposit'
        '409':
          $ref: '#/components/responses/409CheckDepositStateConflict'
      requestBody:
        content:
          application/hal+json:
            schema:
              $ref: '#/components/schemas/check'
          application/json:
            schema:
              $ref: '#/components/schemas/check'
        description: The data to modify a check
        required: true
    delete:
      summary: Remove a check from the check deposit
      description: 'Removes the check from the check deposit batch. Checks may not be deleted if they have state `submitted`, `accepted`, or `rejected`.'
      operationId: deleteCheck
      security:
        - apiKey: []
          accessToken:
            - banking/write
      x-apiture-implemented: true
      tags:
        - Checks
      parameters:
        - $ref: '#/components/parameters/depositIdPathParam'
        - $ref: '#/components/parameters/checkIdPathParam'
      responses:
        '200':
          description: OK
        '404':
          $ref: '#/components/responses/404Deposit'
        '409':
          $ref: '#/components/responses/409CheckDepositStateConflict'
  '/checkDeposits/{depositId}/checks/{checkId}/images/{side}':
    get:
      summary: Return the check side image metadata
      description: |-
        Return metadata of the image file.
        Valid check side values:
          * `front`
          * `back`
      operationId: getCheckImage
      x-apiture-implemented: true
      tags:
        - Checks
      security:
        - apiKey: []
          accessToken:
            - banking/read
      parameters:
        - $ref: '#/components/parameters/depositIdPathParam'
        - $ref: '#/components/parameters/checkIdPathParam'
        - $ref: '#/components/parameters/checkSidePathParam'
        - $ref: '#/components/parameters/ifNoneMatchHeaderParam'
      responses:
        '200':
          description: OK
          headers:
            ETag:
              description: >-
                The `ETag` response header specifies an entity tag which must be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
                operations which update this check deposit resource.
              schema:
                type: string
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/checkImage'
            application/hal+json:
              schema:
                $ref: '#/components/schemas/checkImage'
            application/json:
              schema:
                $ref: '#/components/schemas/checkImage'
        '404':
          $ref: '#/components/responses/404CheckImage'
    post:
      summary: Create a new upload uri for the check side image
      description: >-
        Create a new upload uri for the check side image. This operation is used if the client needs to replace an uploaded image side, it is not
        needed for new checks. Upload uris may not be issued if the check has state `submitted`, `accepted`, or `rejected`.

        The response body includes a `apiture:uploadUri` link which is used to `POST` the file content and upload an image. This replaces any existing
        image. The `Content-Type` header (or the `Content-Type` in the multipart form data) must match the `contentType` of the file resource. JPEG is
        the only supported image format.


        If a check has state `processing`, `valid`, or `invalid`, creating a new image upload uri invalidates the image analysis, resets the check to
        `pending`, and the check must be processed again.

        Valid check side values:
          * `front`
          * `back`
      operationId: createCheckImageUpload
      x-apiture-implemented: true
      tags:
        - Checks
      security:
        - apiKey: []
          accessToken:
            - banking/read
      parameters:
        - $ref: '#/components/parameters/depositIdPathParam'
        - $ref: '#/components/parameters/checkIdPathParam'
        - $ref: '#/components/parameters/checkSidePathParam'
      responses:
        '200':
          description: OK
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/checkImage'
            application/json:
              schema:
                $ref: '#/components/schemas/checkImage'
        '404':
          $ref: '#/components/responses/404Check'
  '/checkDeposits/{depositId}/checks/{checkId}/images/{side}/content':
    get:
      summary: Return the raw content of the check image side
      description: >-
        Return the raw content of the image file as a stream of bytes. This operation normally returns a 302 to redirect the caller to the actual URL
        where the file content is available.

        Valid check side values:
          * `front`
          * `back`
      operationId: getCheckImageContent
      x-apiture-implemented: true
      tags:
        - Checks
      security:
        - apiKey: []
          accessToken:
            - banking/read
      parameters:
        - $ref: '#/components/parameters/depositIdPathParam'
        - $ref: '#/components/parameters/checkIdPathParam'
        - $ref: '#/components/parameters/checkSidePathParam'
        - $ref: '#/components/parameters/ifNoneMatchHeaderParam'
      responses:
        '200':
          description: OK
          headers:
            Content-Type:
              description: >-
                The media type of the file content. The default image media type is `image/jpeg`, but this may change if additional file types are
                supported in the future.
              schema:
                type: string
          content:
            '*/*':
              schema:
                type: string
                format: binary
            application/hal+json:
              schema:
                type: string
                format: binary
            application/json:
              schema:
                type: string
                format: binary
        '302':
          description: Found. The URL where the file's content is located. This is the most likely response.
          headers:
            Location:
              description: The URL where the file's content is located.
              schema:
                type: string
        '404':
          $ref: '#/components/responses/404Check'
  '/checkDeposits/{depositId}/processedChecks':
    post:
      summary: Process a check
      description: >-
        Process a Check to validate data, perform image analysis, and return risk factors. This operation is invoked from the `apiture:process` link
        on a check. Each check in a check deposit must be processed before the batch can be submitted. Checks may not be processed if they have state
        `submitted`, `accepted`, or `rejected`.


        If the check has not been processed, this returns 202 Accepted and no response body. The response includes a `Retry-After` response header
        with a recommended retry interval in seconds. If the check has finished processing, the operations returns 200 OK and the response body is the
        updated check resource.


        `riskRejections`, `riskErrors`, `riskWarnings`, and `riskInfo` may contain risk factors after a check has completed processing. Risk factors
        include diagnostic information about the check, check images, or end user, which indicate if the check is acceptable for deposit.

          - `riskWarnings` are not required to be resolved, but may be useful to resolve potential issues.
          - `riskErrors` must be resolved in order to submit the check deposit. Errors may be fixed by reuploading images or correcting check data.
          - `riskRejections` indicate the check is not suitable for deposit, and the check must be removed from the check deposit.
          - `riskInfo` includes additional diagnostic information about the check.

        If a check has finished processing and contains no risk factors, it indicates the check has a high chance of being accepted for deposit.
      operationId: processCheck
      security:
        - apiKey: []
          accessToken:
            - banking/write
      x-apiture-implemented: true
      tags:
        - Checks
      parameters:
        - $ref: '#/components/parameters/depositIdPathParam'
        - name: checkId
          description: The unique identifier of this check. This is an opaque string.
          in: query
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK. The request has succeeded.
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/check'
            application/json:
              schema:
                $ref: '#/components/schemas/check'
        '202':
          description: 'Accepted. The request has been accepted for processing, but the processing has not been completed.'
          headers:
            Retry-After:
              description: |-
                Indicates a suggested delay in seconds after which the client should retry the operation.
                Example: `Retry-After: 5`
              schema:
                type: string
        '400':
          $ref: '#/components/responses/400'
        '404':
          $ref: '#/components/responses/404Deposit'
        '409':
          $ref: '#/components/responses/409CheckStateConflict'
  /rejectedChecks:
    post:
      summary: Reject a check
      description: >-
        Reject a check if it is eligible to be rejected.

        This operation is invoked from the `apiture:reject` link on a check. The link is only be returned for admins, and only admins can reject a
        check. There is no request body in this method.

        Rejecting a check also reverses the core transaction.
      operationId: rejectCheck
      security:
        - apiKey: []
          accessToken:
            - admin/write
      x-apiture-implemented: true
      tags:
        - Checks
      parameters:
        - name: check
          description: A server-generated key which identifies an existing check resource.
          in: query
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK. The request has succeeded.
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/check'
            application/json:
              schema:
                $ref: '#/components/schemas/check'
        '400':
          $ref: '#/components/responses/400'
        '404':
          $ref: '#/components/responses/404Deposit'
        '409':
          $ref: '#/components/responses/409CheckStateConflict'
  /labels:
    get:
      summary: Localized Labels
      description: >-
        Return a JSON object which defines labels for enumeration types and choice groups defined by the schemas defined in this API. The labels in
        the response may not all match the requested language; some may be in the default language (`en-us`).
      operationId: getLabels
      security:
        - apiKey: []
      parameters:
        - name: Accept-Language
          in: header
          description: >-
            The weighted language tags which indicate the user's preferred natural language for the localized labels in the response, as per [RFC
            7231](https://tools.ietf.org/html/rfc7231#section-5.3.5).
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/labelGroups'
            application/json:
              schema:
                $ref: '#/components/schemas/labelGroups'
      tags:
        - API
  /:
    get:
      summary: Top-level resources and operations in this API
      description: Return links to the top-level resources and operations in this API.
      operationId: getApi
      security:
        - apiKey: []
      x-apiture-implemented: true
      responses:
        '200':
          description: OK
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/root'
            application/json:
              schema:
                $ref: '#/components/schemas/root'
      tags:
        - API
  /apiDoc:
    get:
      summary: Return API definition document
      description: Return the OpenAPI document that describes this API.
      operationId: getApiDoc
      security:
        - apiKey: []
      x-apiture-implemented: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
            application/openapi+json;version=2.0:
              schema:
                type: object
            application/openapi+yaml;version=2.0:
              schema:
                type: object
            application/hal+json:
              schema:
                type: object
      tags:
        - API
  /limits:
    get:
      summary: Return the mobile check deposit limits
      description: Return the mobile check deposit limits. The response shows the check deposit limits and amounts for the previous 30 days.
      operationId: getLimits
      x-apiture-implemented: true
      tags:
        - Limits
      security:
        - apiKey: []
          accessToken:
            - banking/read
      parameters:
        - $ref: '#/components/parameters/accountQueryParam'
      responses:
        '200':
          description: OK
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/checkDepositLimits'
            application/json:
              schema:
                $ref: '#/components/schemas/checkDepositLimits'
        '400':
          $ref: '#/components/responses/400'
        '422':
          description: >-
            Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The `_error` field in the response
            contains details about the request error.


            This error response may have one of the following `type` values:

            * [`invalidAccount`](#err-invalidAccount)
          x-apiture-errors:
            - invalidAccount
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/errorResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
  /configurations:
    get:
      summary: Configuration definition for this API
      description: Returns the configuration for this API
      operationId: getConfiguration
      x-apiture-hidden: true
      tags:
        - Configuration
      responses:
        '200':
          description: OK
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/configuration'
            application/json:
              schema:
                $ref: '#/components/schemas/configuration'
      security:
        - apiKey: []
          accessToken:
            - profile/read
  /configurations/groups:
    get:
      summary: Return a collection of configuration groups
      description: >-
        Return a[ paginated](https://developer.apiture.com/docs/concepts/pagination)[ sortable](https://developer.apiture.com/docs/concepts/sorting)[
        filterable](https://developer.apiture.com/docs/concepts/filtering)[ searchable](https://developer.apiture.com/docs/concepts/searchable)
        collection of configuration groups. The [links](https://developer.apiture.com/docs/concepts/links) in the response include pagination links.
      operationId: getConfigurationGroups
      x-apiture-hidden: true
      tags:
        - Configuration
      parameters:
        - name: start
          in: query
          description: The zero-based index of the first configuration group item to include in this page. The default 0 denotes the beginning of the collection.
          schema:
            type: integer
            format: int64
            default: 0
        - name: limit
          in: query
          description: The maximum number of configuration group representations to return in this page.
          schema:
            type: integer
            format: int32
            default: 100
        - name: sortBy
          in: query
          description: 'Optional sort criteria. See [sort criteria format](https://developer.apiture.com/docs/concepts/sorting), such as `?sortBy=field1,-field2`.'
          schema:
            type: string
        - $ref: '#/components/parameters/filterQueryParam'
        - $ref: '#/components/parameters/qQueryParam'
      responses:
        '200':
          description: OK
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/configurationGroups'
            application/json:
              schema:
                $ref: '#/components/schemas/configurationGroups'
        '400':
          $ref: '#/components/responses/400'
        '422':
          $ref: '#/components/responses/422'
      security:
        - apiKey: []
          accessToken:
            - admin/read
  '/configurations/groups/{groupName}':
    get:
      summary: Fetch a representation of this configuration group
      description: 'Return a [HAL](https://developer.apiture.com/docs/concepts/hal) representation of this configuration group resource.'
      operationId: getConfigurationGroup
      x-apiture-hidden: true
      tags:
        - Configuration
      parameters:
        - $ref: '#/components/parameters/configurationGroupNamePathParam'
        - $ref: '#/components/parameters/ifNoneMatchHeaderParam'
      responses:
        '200':
          description: OK
          headers:
            ETag:
              description: >-
                The `ETag` response header specifies an entity tag which may be provided in an `If-None-Match` request header for *`GET`* operations
                for this configuration group resource.
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/configurationGroup'
            application/json:
              schema:
                $ref: '#/components/schemas/configurationGroup'
        '304':
          $ref: '#/components/responses/304'
        '404':
          $ref: '#/components/responses/404ConfigurationGroup'
      security:
        - apiKey: []
          accessToken:
            - admin/read
  '/configurations/groups/{groupName}/schema':
    get:
      summary: Fetch the schema for this configuration group
      description: 'Return a [HAL](https://developer.apiture.com/docs/concepts/hal) representation of this configuration group schema resource.'
      operationId: getConfigurationGroupSchema
      x-apiture-hidden: true
      tags:
        - Configuration
      parameters:
        - $ref: '#/components/parameters/configurationGroupNamePathParam'
        - $ref: '#/components/parameters/ifNoneMatchHeaderParam'
      responses:
        '200':
          description: OK
          headers:
            ETag:
              description: The `ETag` response header specifies an entity tag which may be provided in an `If-Match` request header for *`PUT`*
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/configurationSchema'
            application/json:
              schema:
                $ref: '#/components/schemas/configurationSchema'
        '304':
          $ref: '#/components/responses/304'
        '404':
          $ref: '#/components/responses/404ConfigurationGroup'
      security:
        - apiKey: []
          accessToken:
            - admin/read
  '/configurations/groups/{groupName}/values':
    get:
      summary: Fetch the values for the specified configuration group
      description: Return a representation of this configuration group values resource.
      operationId: getConfigurationGroupValues
      security:
        - apiKey: []
          accessToken:
            - profiles/read
      tags:
        - Configuration
      parameters:
        - $ref: '#/components/parameters/configurationGroupNamePathParam'
        - $ref: '#/components/parameters/ifNoneMatchHeaderParam'
      responses:
        '200':
          description: OK
          headers:
            ETag:
              description: The `ETag` response header specifies an entity tag which may be provided in an `If-Match` request header for *`PUT`*
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/configurationValues'
            application/json:
              schema:
                $ref: '#/components/schemas/configurationValues'
        '304':
          $ref: '#/components/responses/304'
        '404':
          $ref: '#/components/responses/404ConfigurationGroup'
    put:
      summary: Update the values for the specified configuration group
      description: Perform a complete replacement of this set of values
      operationId: updateConfigurationGroupValues
      security:
        - apiKey: []
          accessToken:
            - admin/write
      tags:
        - Configuration
      parameters:
        - $ref: '#/components/parameters/configurationGroupNamePathParam'
        - $ref: '#/components/parameters/ifMatchHeaderParam'
      responses:
        '200':
          description: OK
          headers:
            ETag:
              description: The `ETag` response header specifies an entity tag which may be provided in an `If-Match` request header for *`PUT`*
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/configurationSchema'
            application/json:
              schema:
                $ref: '#/components/schemas/configurationSchema'
        '400':
          $ref: '#/components/responses/400'
        '403':
          description: Access denied. Only user allowed to update configurations is an admin.
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/errorResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
        '404':
          $ref: '#/components/responses/404ConfigurationGroup'
        '412':
          $ref: '#/components/responses/412'
      requestBody:
        content:
          application/hal+json:
            schema:
              $ref: '#/components/schemas/configurationValues'
          application/json:
            schema:
              $ref: '#/components/schemas/configurationValues'
        required: true
  '/configurations/groups/{groupName}/values/{valueName}':
    get:
      summary: Fetch a single value associated with the specified configuration group
      description: >-
        Fetch a single value associated with this configuration group. This provides convenient access to individual values of the configuration
        group. The response is always a JSON value which can be parsed with a strict JSON parser. The response may be
         * a primitive number, boolean, or quoted JSON string.
         * a JSON array.
         * a JSON object.
         * `null`.
        Examples:
          * `"a string configuration value"`
          * `120`
          * `true`
          * `null`
          * `{ "borderWidth": 8, "foregroundColor": "blue" }`
        To update a specific value, use `PUT /configurations/groups/{groupName}/values/{valueName}` (operation `updateConfigurationGroupValue`).
      operationId: getConfigurationGroupValue
      security:
        - apiKey: []
          accessToken:
            - admin/read
      tags:
        - Configuration
      parameters:
        - $ref: '#/components/parameters/configurationGroupNamePathParam'
        - $ref: '#/components/parameters/configurationGroupValueNamePathParam'
      responses:
        '200':
          description: 'OK. The value of the named configuraton value as a JSON string, number, boolean, array, or object.'
          headers:
            ETag:
              description: >-
                The `ETag` response header specifies an entity tag which may be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
                operations which update this configuration group resource.
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                type: string
            application/json:
              schema:
                type: string
        '404':
          $ref: '#/components/responses/404ConfigurationGroupOrValue'
    put:
      summary: Update a single value associated with the specified configuration group
      description: >-
        Update a single value associated with this configuration group. This provides convenient access to individual values of the configuration
        group as defined in the configuration group's `schema`. The request body must conform to the configuration group's schema for the named
        `{valueName}`. This operation is idempotent. The request body must be a JSON value which can be parsed with a strict JSON parser. The response
        may be
         * a primitive number, boolean, or quoted JSON string.
         * a JSON array.
         * a JSON object.
         * `null`.
        Examples:
          * `"a string configuration value"`
          * `120`
          * `true`
          * `null`
          * `{ "borderWidth": 8, "foregroundColor": "blue" }`
        To fetch specific value, use `GET /configurations/groups/{groupName}/values/{valueName}` (operation `getConfigurationGroupValue`).
      operationId: updateConfigurationGroupValue
      security:
        - apiKey: []
          accessToken:
            - admin/write
      tags:
        - Configuration
      parameters:
        - $ref: '#/components/parameters/configurationGroupNamePathParam'
        - $ref: '#/components/parameters/configurationGroupValueNamePathParam'
      responses:
        '200':
          description: OK
          headers:
            ETag:
              description: >-
                The `ETag` response header specifies an entity tag which may be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
                operations which update this configuration group resource.
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                type: string
            application/json:
              schema:
                type: string
        '403':
          description: Access denied. Only administrators may update configurations.
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/errorResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
      requestBody:
        content:
          application/hal+json:
            schema:
              type: string
          application/json:
            schema:
              type: string
        description: >-
          The request body must a valid JSON value and should be parsable with a JSON parser. The result may be a string, number, boolean, array, or
          object.
        required: true
x-apiture-traits:
  - api:
      title: Check Deposits
      basePath: checkDeposits
      links:
        - getCheckDeposits
        - createCheckDeposit
        - getApi
        - getApiDoc
        - getLabels
  - resource: null
    name: check deposit
    description: A batch of checks to be deposited.
    excludeMethods:
      - put
  - resource: null
    name: check
    description: A check to be deposited.
    prefixPath: '/checkDeposits/{checkDepositId}/'
    excludeMethods:
      - put
x-apiture-errors:
  emptyRequestBody:
    description: The supplied request body was empty
    remediation: Check to make sure the body is included in your request
  invalidGroupName:
    description: No configurationGroup was found for the specified groupName
    remediation: Check to make sure that the supplied groupName corresponds to an apiture transfer configuration group resource
  invalidValueName:
    description: No configurationName was found for the specified valueName
    remediation: Check to make sure that the supplied valueName corresponds to an apiture transfer configuration value resource
  invalidDepositId:
    description: No Deposits were found for the specified depositId
    remediation: Check to make sure that the supplied depositId corresponds to an apiture deposit resource
  invalidCheckId:
    description: No Checks were found for the specified checkId
    remediation: Check to make sure that the supplied checkId corresponds to an apiture check resource
  checkImageNotFound:
    description: No image was found for the specified checkId and image type
    remediation: Check to make sure the check image has completed uploading and/or processing
  invalidCheckDepositState:
    description: Actions on check deposits may only be performed if they are in a valid state
    remediation: Check the state of the check deposit and the allowable states for the requested operation
  invalidCheckState:
    description: Actions on checks may only be performed if they are in a valid state
    remediation: Check the state of the check and the allowable states for the requested operation
  invalidChecks:
    description: One or more checks are invalid to perform the requested operation
    remediation: Verify all of the checks are valid and do not contain errors
  inProgressCheckDeposit:
    description: The user has a check deposit in progress and is not allowed to create another
    remediation: Submit or cancel the existing check deposit and try again
  invalidAccount:
    description: The supplied account reference was malformed
    remediation: Check to make sure that the supplied `account` parameter corresponds to an Apiture account resource
x-apiture-annotated-at: '2020-10-20T14:21:46.133Z'
components:
  schemas:
    checkDepositLimit:
      title: Check Deposit Limit (v1.0.1)
      description: List of check deposit limits and the remaining amounts.
      x-apiture-version: 1.0.1
      x-apiture-composition:
        - $ref: '#/components/schemas/abstractResource'
        - properties:
            - context
            - days
            - checkCounts
            - checkAmounts
      properties:
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
        context:
          description: Defines the context of this check deposit limit.
          allOf:
            - $ref: '#/components/schemas/checkDepositLimitContext'
        days:
          description: 'The number of days covered this limit response, backwards from the today.'
          type: integer
          minimum: 1
        checkCounts:
          description: Limits on the number of check deposit.
          allOf:
            - $ref: '#/components/schemas/checkCounts'
        checkAmounts:
          description: Limits on check deposit amounts.
          allOf:
            - $ref: '#/components/schemas/checkAmounts'
      type: object
      x-apiture-flattened: true
    checkCounts:
      title: Check Count Limits (v1.0.1)
      description: The limits on the number of check deposit in this time period.
      type: object
      x-apiture-version: 1.0.1
      properties:
        current:
          type: integer
          readOnly: true
          description: The current number of mobile check deposits in this time period
        remaining:
          type: integer
          readOnly: true
          description: The number of check deposits remaining.
      x-apiture-flattened: true
    checkAmounts:
      title: Check Amount Limits (v1.0.1)
      description: The limits on check deposit amounts in this time period.
      type: object
      x-apiture-version: 1.0.1
      properties:
        current:
          type: string
          format: decimal
          readOnly: true
          description: The current total check deposit amount in this time period.
        remaining:
          type: string
          format: decimal
          readOnly: true
          description: The remaining check deposit amount.
        currency:
          description: 'The [ISO 4217 currency code](https://en.wikipedia.org/wiki/ISO_4217) for this balance.'
          type: string
          readOnly: true
      x-apiture-flattened: true
    checkDepositLimits:
      title: Check Deposit Limits (v1.0.1)
      description: Collection of check deposit limits and the remaining amounts.
      x-apiture-version: 1.0.1
      example:
        _profile: 'https://api.apiture.com/schemas/checkDeposits/checkDepositLimits/v1.0.1/profile.json'
        limits:
          - context: user
            days: 30
            checkCounts:
              current: 100
              remaining: 30
            checkAmounts:
              current: '10000.00'
              remaining: '2500.00'
              currency: USD
      x-apiture-composition:
        - $ref: '#/components/schemas/abstractResource'
        - properties:
            - limits
      properties:
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
        limits:
          type: array
          description: An array containing the limits.
          items:
            $ref: '#/components/schemas/checkDepositLimit'
      type: object
      x-apiture-flattened: true
    checkDepositLimitContext:
      title: Check Deposit Limit Context (v1.0.0)
      description: |-
        The context of a check deposit limit.

        <strong><code>checkDepositLimitContext</code></strong> strings may have one of the following
        [enumerated values](https://developer.apiture.com/concepts/label-groups#enumerations):

        <table>
        <tr>
          <th>Value</th><th>Description</th>
        </tr>

        <tr>
            <td><strong><code>user</code></strong></td><td>User: User-level check deposit limits.</td>
            </tr>
        <tr>
            <td><strong><code>account</code></strong></td><td>Account-level check deposit limits.</td>
            </tr>
        </table>


        These enumeration values are further described by the [label group](https://developer.apiture.com/concepts/label-groups)
        named `checkDepositLimitContext` in the response from the [`getLabels`](#op-getLabels) operation.
      type: string
      enum:
        - user
        - account
      x-apiture-enum: checkDepositLimitContext
      x-apiture-version: 1.0.0
      x-apiture-flattened: true
    checkDeposits:
      title: Check Deposits Collection (v1.0.1)
      description: >-
        Collection of check deposits. The items in the collection are ordered in the `_embedded` object with name `items`. The top-level `_links`
        object may contain pagination links (`self`, `next`, `prev`, `first`, `last`, `collection`).
      x-apiture-version: 1.0.1
      example:
        _profile: 'https://api.apiture.com/schemas/checkDeposits/checkDeposits/v1.0.1/profile.json'
        start: 0
        limit: 10
        count: 1
        name: check deposits
        _links:
          self:
            href: 'https://api.example.bank/checkDeposits/checkDeposits?start=0&limit=10'
          first:
            href: 'https://api.example.bank/checkDeposits/checkDeposits?start=0&limit=10'
          next:
            href: 'https://api.example.bank/checkDeposits/checkDeposits?start=10&limit=10'
          collection:
            href: 'https://api.example.bank/checkDeposits/checkDeposits'
        _embedded:
          items:
            _id: f6c321e6-c628-419a-879e-ebcbc56b57fc
            _profile: 'https://api.apiture.com/schemas/checkDeposits/summaryCheckDeposit/v1.0.0/profile.json'
            _links:
              self:
                href: 'https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc'
              'apiture:target':
                href: 'https://api.example.bank/accounts/accounts/599b8ab5-6925-4f58-90c5-f6aa5b05f9d9'
            state: pending
            createdAt: '2019-01-20T05:54:52.375Z'
            description: bake sale checks
            enteredAmount: '103.22'
            checkCount: 3
      x-apiture-composition:
        - $ref: '#/components/schemas/collection'
        - properties:
            - _embedded
      properties:
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: Embedded objects.
          allOf:
            - $ref: '#/components/schemas/checkDepositsEmbeddedObjects'
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
        count:
          description: >-
            The number of items in the collection. This value is _optional_ and may be omitted if the count is not computable efficiently. If a filter
            is applied to the collection (either implicitly or explicitly), the count, if present, indicates the number of items that satisfy the
            filter.
          type: integer
        start:
          description: The start index of this page of items.
          type: integer
        limit:
          description: The maximum number of items per page.
          type: integer
        name:
          description: The name of the collection.
          type: string
      type: object
      x-apiture-flattened: true
    checkDepositsEmbeddedObjects:
      title: Check Deposits Embedded Objects (v1.0.0)
      description: Objects embedded in the `checkDeposits` collection's `items`.
      type: object
      properties:
        items:
          description: An array containing a page of check deposit items.
          type: array
          items:
            $ref: '#/components/schemas/summaryCheckDeposit'
      x-apiture-version: 1.0.0
      x-apiture-flattened: true
    summaryCheckDeposit:
      title: Check Deposit Summary (v1.0.0)
      description: Summary representation of check deposit resource in collections.
      example:
        _id: f6c321e6-c628-419a-879e-ebcbc56b57fc
        _profile: 'https://api.apiture.com/schemas/checkDeposits/summaryCheckDeposit/v1.0.0/profile.json'
        _links:
          self:
            href: /checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc
        state: pending
        createdAt: '2019-01-20T05:54:52.375Z'
        description: bake sale checks
        enteredAmount: '1023.22'
        checkCount: 3
      x-apiture-version: 1.0.0
      x-apiture-composition:
        - $ref: '#/components/schemas/abstractResource'
        - properties:
            - _id
            - state
            - description
            - depositedAmount
            - enteredAmount
            - scannedAmount
            - checkCount
            - createdAt
            - submittedAt
            - acceptedAt
      properties:
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
        _id:
          description: The unique identifier for this account resource. This is an immutable opaque string.
          readOnly: true
          type: string
        state:
          $ref: '#/components/schemas/checkDepositState'
        description:
          description: Description for the deposit.
          type: string
          example: Check from Jim
        depositedAmount:
          description: >-
            The total USD amount of the check deposit after it was successfully deposited. This number is immutable and only available after the check
            deposit was accepted by the FI and has state 'accepted' or 'acceptedWithRejections'. The numeric value is represented as a string so that
            it can be exact with no loss of precision.
          type: string
          readOnly: true
          example: '1023.22'
        enteredAmount:
          description: >-
            The USD amount of the deposit entered by the user. The numeric value is represented as a string so that it can be exact with no loss of
            precision.
          type: string
          example: '215.10'
        scannedAmount:
          description: >-
            The total USD amount of the deposit read by OCR. The numeric value is represented as a string so that it can be exact with no loss of
            precision.
          type: string
          readOnly: true
          example: '214.10'
        checkCount:
          description: The current count of checks in the deposit batch.
          type: number
          readOnly: true
          example: 3
        createdAt:
          description: 'The date-time the check deposit was created. This is an [RFC 3339](https://tools.ietf.org/html/rfc3339) UTC time stamp.'
          type: string
          format: date-time
          readOnly: true
        submittedAt:
          description: 'The date-time the check deposit was submitted. This is an [RFC 3339](https://tools.ietf.org/html/rfc3339) UTC time stamp.'
          type: string
          format: date-time
          readOnly: true
        acceptedAt:
          description: >-
            The date-time the check deposit was accepted. This does not mean the checks have cleared, only that the deposit has been posted. This is
            an [RFC 3339](https://tools.ietf.org/html/rfc3339) UTC time stamp.
          type: string
          format: date-time
          readOnly: true
      type: object
      x-apiture-flattened: true
    createCheckDeposit:
      title: Create Check Deposit Fields (v1.0.1)
      description: |
        Create a new check deposit. Account URI to deposit into should be included in _links 'apiture:target'.


        <h3 class='schema-links' id="createCheckDeposit-links" >Links</h3>

        Response and request bodies using this <strong><code>createCheckDeposit</code></strong> schema may contain
        the following <a href='https://developer.apiture.com/docs/concepts/links'>links</a>:

        <table>
        <tr>
          <th>Rel</th><th>Summary</th><th>Method</th>
        </tr>

        <tr>
        <td><strong><code>apiture:target</code></strong></td>
        <td>Target account where the checks are deposited</td><td><code>GET</code></td>
        </table>
      x-apiture-version: 1.0.1
      x-apiture-links:
        - rel: 'apiture:target'
          title: Target account where the checks are deposited
      example:
        enteredAmount: '215.10'
        description: bake sale checks
        device:
          id: 8b1e09ee-49cd-47c1-bd72-837432296e3c
          type: iPhone
          operatingSystem: iOS
          operatingSystemVersion: 13.2.1
          make: Apple
          model: iPhoneXs
        _links:
          'apiture:target':
            href: /accounts/accounts/599b8ab5-6925-4f58-90c5-f6aa5b05f9d9
        _profile: 'https://api.apiture.com/schemas/checkDeposits/createCheckDeposit/v1.0.1/profile.json'
      x-apiture-composition:
        - $ref: '#/components/schemas/abstractResource'
        - properties:
            - enteredAmount
            - description
            - device
      properties:
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
        enteredAmount:
          description: >-
            The total USD amount of the deposit entered by the user. The numeric value is represented as a string so that it can be exact with no loss
            of precision.
          type: string
          example: '215.10'
        description:
          description: Description for the deposit.
          type: string
          example: bake sale checks
        device:
          $ref: '#/components/schemas/device'
      type: object
      x-apiture-flattened: true
    createCheck:
      title: Create Check Fields (v1.0.0)
      description: Create a new check.
      example:
        enteredAmount: '43.11'
        description: from jim
        device:
          id: 8b1e09ee-49cd-47c1-bd72-837432296e3c
          type: iPhone
          operatingSystem: iOS
          operatingSystemVersion: 13.2.1
          make: Apple
          model: iPhoneXs
      x-apiture-version: 1.0.0
      x-apiture-composition:
        - $ref: '#/components/schemas/abstractResource'
        - properties:
            - enteredAmount
            - description
            - device
      properties:
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
        enteredAmount:
          description: >-
            The USD amount of the deposit entered by the user. The numeric value is represented as a string so that it can be exact with no loss of
            precision.
          type: string
          example: '215.10'
        description:
          description: Description for the deposit.
          type: string
          example: bake sale checks
        device:
          $ref: '#/components/schemas/device'
      type: object
      x-apiture-flattened: true
    checkDeposit:
      title: Check Deposit (v1.0.1)
      description: >
        Check deposit resource. Checks are added to this before being deposited. The `apiture:target` link contains the URI of the target account
        where the checks are deposited.

        The `apiture:process` link invokes the [`processCheckDeposit` operation](#op-processCheckDeposit) to process the checks to verify the check
        contents (`POST`); the link is present if that operation is available for the check deposit.

        The `apiture:submit` link invokes the [`submitCheckDeposit` operation](#op-submitCheckDeposit) to submit the valid checks for deposit
        (`POST`); the link is present if that operation is available for the check deposit.



        <h3 class='schema-links' id="checkDeposit-links" >Links</h3>


        Response and request bodies using this <strong><code>checkDeposit</code></strong> schema may contain

        the following <a href='https://developer.apiture.com/docs/concepts/links'>links</a>:


        <table>

        <tr>
          <th>Rel</th><th>Summary</th><th>Method</th>
        </tr>


        <tr>

        <td><a href='#op-getCheckDeposit'><strong><code>this</code></strong></a></td><td>Fetch a check deposit</td><td><code>GET</code></td>

        </tr>


        <tr>

        <td><strong><code>apiture:target</code></strong></td>

        <td>Target account where the checks are deposited</td><td><code>GET</code></td>


        <tr>

        <td><a href='#op-createCheck'><strong><code>apiture:createCheck</code></strong></a></td><td>Add a check to the check deposit
        batch</td><td><code>POST</code></td>

        </tr>


        <tr>

        <td><a href='#op-submitCheckDeposit'><strong><code>apiture:submit</code></strong></a></td><td>Submit a check
        deposit</td><td><code>POST</code></td>

        </tr>


        <tr>

        <td><a href='#op-processCheckDeposit'><strong><code>apiture:process</code></strong></a></td><td>Process checks in a check
        deposit</td><td><code>POST</code></td>

        </tr>

        </table>
      x-apiture-version: 1.0.1
      x-apiture-links:
        - rel: this
          operationId: getCheckDeposit
        - rel: 'apiture:target'
          title: Target account where the checks are deposited
        - rel: 'apiture:createCheck'
          operationId: createCheck
        - rel: 'apiture:submit'
          operationId: submitCheckDeposit
        - rel: 'apiture:process'
          operationId: processCheckDeposit
      example:
        _id: f6c321e6-c628-419a-879e-ebcbc56b57fc
        _profile: 'https://api.apiture.com/schemas/checkDeposits/checkDeposit/v1.0.1/profile.json'
        _links:
          self:
            href: 'https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc'
          'apiture:target':
            href: 'https://api.example.bank/accounts/accounts/599b8ab5-6925-4f58-90c5-f6aa5b05f9d9'
          'apiture:createCheck':
            href: 'https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks'
          'apiture:submit':
            href: 'https://api.example.bank/checkDeposits/checkDeposits/submitted?depositId=f6c321e6-c628-419a-879e-ebcbc56b57fc'
          'apiture:process':
            href: 'https://api.example.bank/checkDeposits/checkDeposits/processedCheckDeposits?depositId=f6c321e6-c628-419a-879e-ebcbc56b57fc'
        state: submitted
        createdAt: '2019-01-20T05:54:52.375Z'
        description: bake sale checks
        depositedAmount: '125.20'
        checkCount: 2
        enteredAmount: '125.10'
        scannedAmount: '125.20'
        checks:
          - _id: 999a1163-6e32-47fd-b9b8-085e198729b2
            _profile: 'https://api.apiture.com/schemas/checkDeposits/check/v1.0.0/profile.json'
            _links:
              self:
                href: >-
                  https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2
              'apiture:process':
                href: >-
                  https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/processedChecks?checkId=999a1163-6e32-47fd-b9b8-085e198729b2
              'apiture:uploadFrontImage':
                href: 'https://api.example.bank/uploadUri'
              'apiture:frontImageContent':
                href: >-
                  https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/front/content
              'apiture:frontImage':
                href: >-
                  https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/front
              'apiture:uploadBackImage':
                href: 'https://api.example.bank/uploadUri'
              'apiture:backImageContent':
                href: >-
                  https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/back/content
              'apiture:backImage':
                href: >-
                  https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/back
            state: pending
            createdAt: '2019-01-20T05:54:52.375Z'
            description: check from Jim
            enteredAmount: '55.10'
            scannedAmount: '55.10'
            scannedAmountConfidence: 0.92
            scannedMicr: V902810V T121143260T333222444V
            scannedCheckNumber: '902810'
            riskWarnings:
              - type: payeeAccountHolderMismatch
                label: Payee name does not match Account owner
                description: The payee name of the check does not match the name of the owner of the account to deposit into.
          - _id: 999a1163-6e32-47fd-b9b8-085e198729b2
            _profile: 'https://api.apiture.com/schemas/checkDeposits/check/v1.0.0/profile.json'
            _links:
              self:
                href: >-
                  https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2
              'apiture:process':
                href: >-
                  https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/processedChecks?checkId=999a1163-6e32-47fd-b9b8-085e198729b2
              'apiture:uploadFrontImage':
                href: 'https://api.example.bank/some-upload-uri'
              'apiture:frontImageContent':
                href: >-
                  https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/front/content
              'apiture:frontImage':
                href: >-
                  https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/front
              'apiture:uploadBackImage':
                href: 'https://api.example.bank/some-upload-uri'
              'apiture:backImageContent':
                href: >-
                  https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/back/content
              'apiture:backImage':
                href: >-
                  https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/back
            state: pending
            createdAt: '2019-01-20T05:54:52.375Z'
            description: check from Jim
            enteredAmount: '55.10'
            scannedAmount: '55.10'
            scannedAmountConfidence: 0.92
            scannedMicr: V902810V T121143260T333222444V
            scannedCheckNumber: '902810'
            riskWarnings:
              - type: payeeAccountHolderMismatch
                label: Payee name does not match Account owner
                description: The payee name of the check does not match the name of the owner of the account to deposit into.
      x-apiture-composition:
        - $ref: '#/components/schemas/summaryCheckDeposit'
        - properties:
            - checks
            - confirmationId
      properties:
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
        _id:
          description: The unique identifier for this account resource. This is an immutable opaque string.
          readOnly: true
          type: string
        state:
          $ref: '#/components/schemas/checkDepositState'
        description:
          description: Description for the deposit.
          type: string
          example: Check from Jim
        depositedAmount:
          description: >-
            The total USD amount of the check deposit after it was successfully deposited. This number is immutable and only available after the check
            deposit was accepted by the FI and has state 'accepted' or 'acceptedWithRejections'. The numeric value is represented as a string so that
            it can be exact with no loss of precision.
          type: string
          readOnly: true
          example: '1023.22'
        enteredAmount:
          description: >-
            The USD amount of the deposit entered by the user. The numeric value is represented as a string so that it can be exact with no loss of
            precision.
          type: string
          example: '215.10'
        scannedAmount:
          description: >-
            The total USD amount of the deposit read by OCR. The numeric value is represented as a string so that it can be exact with no loss of
            precision.
          type: string
          readOnly: true
          example: '214.10'
        checkCount:
          description: The current count of checks in the deposit batch.
          type: number
          readOnly: true
          example: 3
        createdAt:
          description: 'The date-time the check deposit was created. This is an [RFC 3339](https://tools.ietf.org/html/rfc3339) UTC time stamp.'
          type: string
          format: date-time
          readOnly: true
        submittedAt:
          description: 'The date-time the check deposit was submitted. This is an [RFC 3339](https://tools.ietf.org/html/rfc3339) UTC time stamp.'
          type: string
          format: date-time
          readOnly: true
        acceptedAt:
          description: >-
            The date-time the check deposit was accepted. This does not mean the checks have cleared, only that the deposit has been posted. This is
            an [RFC 3339](https://tools.ietf.org/html/rfc3339) UTC time stamp.
          type: string
          format: date-time
          readOnly: true
        checks:
          description: Checks included in the Check Deposit.
          type: array
          readOnly: true
          items:
            $ref: '#/components/schemas/check'
        confirmationId:
          description: The confirmation id that the deposit request was received for processing.
          type: string
          readOnly: true
          example: '3019489393'
      type: object
      x-apiture-flattened: true
    checkDepositWithEligibleAccounts:
      x-apiture-version: 1.0.0
      title: Check Deposit with Eligble Accounts (v1.0.0)
      description: >-
        Check deposit resource. Checks are added to this before being deposited. This response also include a list of eligble check deposit target
        accounts in `_embedded.eligbleAccounts`. This schema is the existing [`checkDeposit`](#schema-checkDeposit) schema, with the added `_embedded`
        objects found only in this response.
      x-apiture-composition:
        - $ref: '#/components/schemas/checkDeposit'
        - properties:
            - _embedded
      properties:
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: Embedded objects.
          allOf:
            - $ref: '#/components/schemas/checkDepositEmbeddedObjects'
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
        _id:
          description: The unique identifier for this account resource. This is an immutable opaque string.
          readOnly: true
          type: string
        state:
          $ref: '#/components/schemas/checkDepositState'
        description:
          description: Description for the deposit.
          type: string
          example: Check from Jim
        depositedAmount:
          description: >-
            The total USD amount of the check deposit after it was successfully deposited. This number is immutable and only available after the check
            deposit was accepted by the FI and has state 'accepted' or 'acceptedWithRejections'. The numeric value is represented as a string so that
            it can be exact with no loss of precision.
          type: string
          readOnly: true
          example: '1023.22'
        enteredAmount:
          description: >-
            The USD amount of the deposit entered by the user. The numeric value is represented as a string so that it can be exact with no loss of
            precision.
          type: string
          example: '215.10'
        scannedAmount:
          description: >-
            The total USD amount of the deposit read by OCR. The numeric value is represented as a string so that it can be exact with no loss of
            precision.
          type: string
          readOnly: true
          example: '214.10'
        checkCount:
          description: The current count of checks in the deposit batch.
          type: number
          readOnly: true
          example: 3
        createdAt:
          description: 'The date-time the check deposit was created. This is an [RFC 3339](https://tools.ietf.org/html/rfc3339) UTC time stamp.'
          type: string
          format: date-time
          readOnly: true
        submittedAt:
          description: 'The date-time the check deposit was submitted. This is an [RFC 3339](https://tools.ietf.org/html/rfc3339) UTC time stamp.'
          type: string
          format: date-time
          readOnly: true
        acceptedAt:
          description: >-
            The date-time the check deposit was accepted. This does not mean the checks have cleared, only that the deposit has been posted. This is
            an [RFC 3339](https://tools.ietf.org/html/rfc3339) UTC time stamp.
          type: string
          format: date-time
          readOnly: true
        checks:
          description: Checks included in the Check Deposit.
          type: array
          readOnly: true
          items:
            $ref: '#/components/schemas/check'
        confirmationId:
          description: The confirmation id that the deposit request was received for processing.
          type: string
          readOnly: true
          example: '3019489393'
      type: object
      x-apiture-flattened: true
    check:
      title: Check (v1.0.0)
      description: >
        Check resource.

        The `apiture:reject` link invokes the `rejectCheck` operation to reject an invalid check (`POST`); it is present if the `rejectCheck`
        operation is available for the check.



        <h3 class='schema-links' id="check-links" >Links</h3>


        Response and request bodies using this <strong><code>check</code></strong> schema may contain

        the following <a href='https://developer.apiture.com/docs/concepts/links'>links</a>:


        <table>

        <tr>
          <th>Rel</th><th>Summary</th><th>Method</th>
        </tr>


        <tr>

        <td><a href='#op-getCheckDeposit'><strong><code>this</code></strong></a></td><td>Fetch a check deposit</td><td><code>GET</code></td>

        </tr>


        <tr>

        <td><strong><code>apiture:target</code></strong></td>

        <td>Target account where the checks are deposited'</td><td><code>GET</code></td>


        <tr>

        <td><strong><code>apiture:uploadFrontImage</code></strong></td>

        <td>Upload check front image</td><td><code>GET</code></td>


        <tr>

        <td><strong><code>apiture:uploadBackImage</code></strong></td>

        <td>Upload check check image</td><td><code>GET</code></td>


        <tr>

        <td><strong><code>apiture:frontImage</code></strong></td>

        <td>Get check front image metadata</td><td><code>GET</code></td>


        <tr>

        <td><strong><code>apiture:frontImageContent</code></strong></td>

        <td>Get check fron image file</td><td><code>GET</code></td>


        <tr>

        <td><strong><code>apiture:backImage</code></strong></td>

        <td>Get check back image metadata</td><td><code>GET</code></td>


        <tr>

        <td><strong><code>apiture:backImageContent</code></strong></td>

        <td>Get check back image file</td><td><code>GET</code></td>


        <tr>

        <td><a href='#op-rejectCheck'><strong><code>apiture:reject</code></strong></a></td><td>Reject a check</td><td><code>POST</code></td>

        </tr>


        <tr>

        <td><a href='#op-processCheck'><strong><code>apiture:process</code></strong></a></td><td>Process a check</td><td><code>POST</code></td>

        </tr>

        </table>
      x-apiture-links:
        - rel: this
          operationId: getCheckDeposit
        - rel: 'apiture:target'
          title: Target account where the checks are deposited'
        - rel: 'apiture:uploadFrontImage'
          title: Upload check front image
          operation: post
        - rel: 'apiture:uploadBackImage'
          title: Upload check check image
          operation: post
        - rel: 'apiture:frontImage'
          title: Get check front image metadata
          operation: get
        - rel: 'apiture:frontImageContent'
          title: Get check fron image file
          operation: get
        - rel: 'apiture:backImage'
          title: Get check back image metadata
          operation: get
        - rel: 'apiture:backImageContent'
          title: Get check back image file
          operation: get
        - rel: 'apiture:reject'
          operationId: rejectCheck
        - rel: 'apiture:process'
          operationId: processCheck
      example:
        _id: 999a1163-6e32-47fd-b9b8-085e198729b2
        _profile: 'https://api.apiture.com/schemas/checkDeposits/check/v1.0.0/profile.json'
        _links:
          self:
            href: 'https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2'
          'apiture:process':
            href: >-
              https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/processedChecks?checkId=999a1163-6e32-47fd-b9b8-085e198729b2
          'apiture:reject':
            href: >-
              https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/rejectedChecks?checkId=999a1163-6e32-47fd-b9b8-085e198729b2
          'apiture:uploadFrontImage':
            href: 'https://api.example.bank/uploadUri'
          'apiture:frontImageContent':
            href: >-
              https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/front/content
          'apiture:frontImage':
            href: >-
              https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/front
          'apiture:uploadBackImage':
            href: 'https://api.example.bank/uploadUri'
          'apiture:backImageContent':
            href: >-
              https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/back/content
          'apiture:backImage':
            href: >-
              https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/back
        state: pending
        createdAt: '2019-01-20T05:54:52.375Z'
        description: check from Jim
        enteredAmount: '55.10'
        scannedAmount: '55.10'
        scannedAmountConfidence: 0.92
        scannedMicr: V902810V T121143260T333222444V
        scannedCheckNumber: '902810'
        riskWarnings:
          - type: payeeAccountHolderMismatch
            label: Payee name does not match Account owner
            description: The payee name of the check does not match the name of the owner of the account to deposit into.
      x-apiture-version: 1.0.0
      x-apiture-composition:
        - $ref: '#/components/schemas/abstractResource'
        - properties:
            - _id
            - description
            - state
            - riskRejections
            - riskErrors
            - riskWarnings
            - riskInfo
            - enteredAmount
            - scannedAmount
            - scannedAmountConfidence
            - scannedMicr
            - scannedCheckNumber
            - attributes
      properties:
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
        _id:
          description: The unique identifier for this check deposit resource. This is an immutable opaque string.
          readOnly: true
          type: string
        description:
          description: Description for the check.
          type: string
          example: Check from Jim
        state:
          $ref: '#/components/schemas/checkState'
        riskRejections:
          description: >-
            Risk factors indicating the check has been rejected and can't be corrected. If a check contains any rejection risk factors, the check must
            be removed from the check deposit. A check deposit can't be submitted if any of its checks contain rejection risk factors.
          type: array
          items:
            $ref: '#/components/schemas/riskFactor'
        riskErrors:
          description: >-
            Risk factors indicating the check has errors which must be corrected before the check deposit can be submitted. Modifying the check data
            and re-processing may resolve errors. A check deposit can't be submitted if any of its checks contain error risk factors.
          type: array
          items:
            $ref: '#/components/schemas/riskFactor'
        riskWarnings:
          description: >-
            Risk factors indicating the check has warnings. Warnings do not prevent a check from being deposited, but are helpful to show the user to
            catch any potential issues before submission. A check deposit can still be submitted if checks contain warnings.
          type: array
          items:
            $ref: '#/components/schemas/riskFactor'
        riskInfo:
          description: Various additional diagnostic information about the check.
          type: array
          items:
            $ref: '#/components/schemas/riskFactor'
        enteredAmount:
          description: >-
            The USD amount of the check entered by the user. The numeric value is represented as a string so that it can be exact with no loss of
            precision.
          type: string
          example: '215.10'
        scannedAmount:
          description: >-
            The USD amount of the check read by OCR. This value may only be available after processing is complete. The numeric value is represented
            as a string so that it can be exact with no loss of precision.
          type: string
          readOnly: true
          example: '214.10'
        scannedAmountConfidence:
          description: 'Indicates the confidence in the accuracy of the `scannedAmount` value, from lowest confidence `0.0` to highest confidence, `1.0`.'
          minimum: 0
          maximum: 1
          type: number
          readOnly: true
          example: 0.6
        scannedMicr:
          description: >-
            The scanned _magnetic ink character recognition_ (MICR) number from the check image. This value encodes the routing number, account
            number, check number, check amount, and other data from the check. This value is only be available after processing is complete.
          type: string
          readOnly: true
          example: V902810V T121143260T333222444V
        scannedCheckNumber:
          description: The number of the check read by OCR. This value may only be available after processing is complete.
          type: string
          readOnly: true
          example: '902810'
        attributes:
          $ref: '#/components/schemas/attributes'
      type: object
      x-apiture-flattened: true
    riskFactor:
      title: Risk Factor (v1.0.0)
      description: Diagnostic information about the check.
      type: object
      example:
        _links:
          help:
            href: '{uri of help website for risk factor}'
        type: payeeAccountHolderMismatch
        label: Payee name does not match Account owner
        description: |-
          The payee name of the check does not match the name of
            the owner of the account to deposit into.
      x-apiture-version: 1.0.0
      x-apiture-composition:
        - $ref: '#/components/schemas/abstractResource'
        - properties:
            - type
            - label
            - description
            - attributes
      properties:
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
        type:
          description: The risk factor type.
          type: string
        label:
          description: A short label identifying the risk factor.
          type: string
        description:
          description: A longer description with information about the risk factor. This may include recovery options in the case of warnings or errors.
          type: string
        attributes:
          description: 'Data attribute associated with the risk factor, such as values or constraints.'
          allOf:
            - $ref: '#/components/schemas/attributes'
      x-apiture-flattened: true
    checkImage:
      title: Check Image (v1.0.0)
      description: >-
        Representation of a check image file. The image may contain an `apiture:uploadUrl` link  within the item's `_links`. The client should next
        `PUT` the file content to the upload URLs. The file must be an image with JPEG format. If file content has been uploaded, the image may have
        an `apiture:content` link to access the direct URI of the file's content.
      example:
        _id: 7dc00a42-76f9-4bbb-bda3-bd6ed203c01b
        _profile: 'https://api.apiture.com/schemas/checkDeposits/checkImage/v1.0.0/profile.json'
        _links:
          self:
            href: /checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/front
          'apiture:content':
            href: /checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/front/content
        name: frontImage.jpeg
        contentType: image/jpeg
        description: Front check image captured and uploaded from an iPhoneX.
        sizeBytes: 112800
        createdAt: '2019-01-04T07:00:49.375Z'
      x-apiture-version: 1.0.0
      x-apiture-composition:
        - $ref: '#/components/schemas/abstractResource'
        - properties:
            - name
            - description
            - contentType
            - sizeBytes
            - createdAt
      properties:
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
        name:
          description: >-
            The file name, for identification purposes. File names may include file extensions such as `.jpeg` for JPEG images, although the system
            does not validate or ensure that extensions match the file content type. This is limited to 64 characters and may not contain certain
            special characters such as / or \\. If omitted, the system will assign a name.
          type: string
          maxLength: 64
        description:
          description: A description of this file and its contents.
          type: string
          maxLength: 4096
        contentType:
          description: 'The [media type](https://tools.ietf.org/html/rfc6838) for this file.'
          type: string
          example: image/jpeg
        sizeBytes:
          description: The file size in bytes. This is a derived property and cannot be modified in updates.
          type: number
          readOnly: true
        createdAt:
          description: The date-time when the image was created or uploaded.
          type: string
          format: date-time
          readOnly: true
      type: object
      x-apiture-flattened: true
    device:
      title: Device Data (v1.0.0)
      description: Diagnostic information about the client device.
      type: object
      properties:
        id:
          description: Unique identifier of the device originating the request. This can be any unique value to identify the client device.
          type: string
        type:
          description: >-
            The type of device originating the request. This is a high level indicator for the type of the client device. iPhone, Android, Web Browser
            are examples.
          type: string
        operatingSystem:
          description: 'The operating system of the device originating the request. iOS, Android, macOS, Windows, Linux are examples.'
          type: string
        operatingSystemVersion:
          description: The version of the operating system of the device originating the request.
          type: string
        make:
          description: 'The make of the device originating the request. Apple, Google, Motorola, Dell are examples.'
          type: string
        model:
          description: 'The model of the device originating the request. iPhoneXs, Pixel3, G2qx, MacbookPro13 are examples.'
          type: string
      example:
        id: 8b1e09ee-49cd-47c1-bd72-837432296e3c
        type: iPhone
        operatingSystem: iOS
        operatingSystemVersion: 13.2.1
        make: Apple
        model: iPhoneXs
      x-apiture-version: 1.0.0
      x-apiture-flattened: true
    checkDepositState:
      title: Check Deposit State (v1.0.0)
      description: |-
        The state of the check deposit. This field is immutable and derived.

        <strong><code>checkDepositState</code></strong> strings may have one of the following
        [enumerated values](https://developer.apiture.com/concepts/label-groups#enumerations):

        <table>
        <tr>
          <th>Value</th><th>Description</th>
        </tr>

        <tr>
            <td><strong><code>pending</code></strong></td><td>Pending</td>
            </tr>
        <tr>
            <td><strong><code>processing</code></strong></td><td>Processing</td>
            </tr>
        <tr>
            <td><strong><code>valid</code></strong></td><td>Valid</td>
            </tr>
        <tr>
            <td><strong><code>invalid</code></strong></td><td>Invalid</td>
            </tr>
        <tr>
            <td><strong><code>submitted</code></strong></td><td>Submitted</td>
            </tr>
        <tr>
            <td><strong><code>accepted</code></strong></td><td>Accepted</td>
            </tr>
        <tr>
            <td><strong><code>rejected</code></strong></td><td>Rejected</td>
            </tr>
        <tr>
            <td><strong><code>acceptedWithRejections</code></strong></td><td>Accepted with Rejections</td>
            </tr>
        </table>


        These enumeration values are further described by the [label group](https://developer.apiture.com/concepts/label-groups)
        named `checkDepositState` in the response from the [`getLabels`](#op-getLabels) operation.
      type: string
      enum:
        - pending
        - processing
        - valid
        - invalid
        - submitted
        - accepted
        - rejected
        - acceptedWithRejections
      readOnly: true
      x-apiture-enum: checkDepositState
      example: submitted
      x-apiture-version: 1.0.0
      x-apiture-flattened: true
    checkState:
      title: Check State (v1.0.0)
      description: |-
        The state of the check. This field is immutable and derived.

        <strong><code>checkState</code></strong> strings may have one of the following
        [enumerated values](https://developer.apiture.com/concepts/label-groups#enumerations):

        <table>
        <tr>
          <th>Value</th><th>Description</th>
        </tr>

        <tr>
            <td><strong><code>pending</code></strong></td><td>Pending</td>
            </tr>
        <tr>
            <td><strong><code>processing</code></strong></td><td>Processing</td>
            </tr>
        <tr>
            <td><strong><code>valid</code></strong></td><td>Valid</td>
            </tr>
        <tr>
            <td><strong><code>invalid</code></strong></td><td>Invalid</td>
            </tr>
        <tr>
            <td><strong><code>submitted</code></strong></td><td>Submitted</td>
            </tr>
        <tr>
            <td><strong><code>accepted</code></strong></td><td>Accepted</td>
            </tr>
        <tr>
            <td><strong><code>rejected</code></strong></td><td>Rejected</td>
            </tr>
        </table>


        These enumeration values are further described by the [label group](https://developer.apiture.com/concepts/label-groups)
        named `checkState` in the response from the [`getLabels`](#op-getLabels) operation.
      type: string
      enum:
        - pending
        - processing
        - valid
        - invalid
        - submitted
        - accepted
        - rejected
      readOnly: true
      x-apiture-enum: checkState
      example: processing
      x-apiture-version: 1.0.0
      x-apiture-flattened: true
    checkDepositEmbeddedObjects:
      title: Check Deposit Embedded Objects (v1.0.0)
      type: object
      description: Objects embedded in the response from creating a new check deposit resource.
      required:
        - eligibleAccounts
      properties:
        eligibleAccounts:
          description: A list of account summaries of accounts eligble for check deposits.
          type: array
          items:
            $ref: '#/components/schemas/summaryAccount'
      x-apiture-version: 1.0.0
      x-apiture-flattened: true
    labelGroups:
      title: Label Groups (v1.0.1)
      description: |-
        A set of named groups of labels, each of which contains multiple item labels.


        The abbreviated example shows two groups, one named `structure` and one named `estimatedAnnualRevenue`.
        The first has items with names such as `corporation`, `llc` and `soleProprietorship`,
        with text labels for each in the default and in French. The second has
        items for estimated revenue *ranges* but no localized labels. For example, the item named `from1to10Million`
        has the `label` "$1M to $10M" and the range `[1000000.00,10000000.00)`.

        This schema was resolved from [`common/labelGroups`](https://production.api.apiture.com/schemas/common/labelGroups/v1.0.1/model.json).
      x-apiture-version: 1.0.1
      example:
        _profile: 'https://api.apiture.com/schemas/common/labelGroups/v1.0.1/profile.json'
        groups:
          structure:
            unknown:
              label: Unknown
              code: '0'
              hidden: true
            corporation:
              label: Corporation
              code: '1'
              variants:
                fr:
                  label: Soci\u00e9t\u00e9
            partnership:
              label: Partnership
              code: '2'
              variants:
                fr:
                  label: Partenariat
            llc:
              label: Limited Liability Company
              code: '2'
              variants:
                fr:
                  label: Soci\u00e9t\u00e9 \u00e9 Responsabilit\u00e9 Limit\u00e9e
            nonProfit:
              label: Non Profit
              code: '4'
              variants:
                fr:
                  label: Non Lucratif
            financialInstitution:
              label: Financial Institution
              code: '8'
              variants:
                fr:
                  label: Institution financi\u00e8re
            soleProprietorship:
              label: Sole Proprietorship
              code: '11'
              variants:
                fr:
                  label: Entreprise individuelle
            other:
              label: Other
              code: '254'
              variants:
                fr:
                  label: Autre
          estimatedAnnualRevenue:
            unknown:
              label: Unknown
              code: '0'
            under1Million:
              label: Under $1M
              code: '1'
              range: '[0,1000000.00)'
            from1to10Million:
              label: $1M to $10M
              code: '2'
              range: '[1000000.00,10000000.00)'
            from10to100Million:
              label: $10M to $100M
              code: '3'
              range: '[10000000.00,100000000.00)'
            over100Million:
              label: 'Over $100,000,000.00'
              code: '4'
              range: '[100000000.00,]'
            other:
              label: Other
              code: '254'
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/labelGroups/v1.0.1/model.json'
      x-apiture-namespace: common
      x-apiture-composition:
        - $ref: '#/components/schemas/abstractResource'
        - properties:
            - groups
      properties:
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
        groups:
          description: 'Groups of localized labels. This maps *group names* &rarr; [*a group of labels*](#schema-labelgroup) within that group.'
          x-apiture-key: groupName
          additionalProperties:
            $ref: '#/components/schemas/labelGroup'
      type: object
      x-apiture-flattened: true
    root:
      x-apiture-version: 2.0.1
      title: API Root (v2.0.1)
      description: |-
        A HAL response, with hypermedia `_links` for the top-level resources and operations in API.

        This schema was resolved from [`common/root`](https://production.api.apiture.com/schemas/common/root/v2.0.1/model.json).
      example:
        id: apiName
        name: API name
        apiVersion: 1.0.0
        _profile: 'https://production.api.apiture.com/schemas/common/root/v2.0.1/profile.json'
        _links: {}
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/root/v2.0.1/model.json'
      x-apiture-namespace: common
      x-apiture-composition:
        - $ref: '#/components/schemas/abstractResource'
        - properties:
            - _id
            - name
            - apiVersion
      properties:
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
        _id:
          description: This API's unique ID.
          readOnly: true
          type: string
        name:
          type: string
          description: This API's name.
        apiVersion:
          type: string
          description: This API's version.
      type: object
      x-apiture-flattened: true
    errorResponse:
      x-apiture-version: 2.0.0
      title: Error Response (v2.0.0)
      description: |-
        Describes an error response, typically returned on 4xx or 5xx errors from API operations. The `_error` object contains the error details.

        This schema was resolved from [`common/errorResponse`](https://production.api.apiture.com/schemas/common/errorResponse/v2.0.0/model.json).
      example:
        _profile: 'https://api.apiture.com/schemas/common/errorResponse/v2.0.0/profile.json'
        _error:
          _id: 2eae46e1-575c-4d69-8a8f-0a7b0115a4b3
          message: The value for deposit must be greater than 0.
          statusCode: 422
          type: positiveNumberRequired
          attributes:
            value: -125.5
          remediation: Provide a value which is greater than 0
          occurredAt: '2018-01-25T05:50:52.375Z'
          _links:
            describedby:
              href: 'https://api.apiture.com/errors/positiveNumberRequired'
          _embedded:
            errors: []
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/errorResponse/v2.0.0/model.json'
      x-apiture-namespace: common
      x-apiture-composition:
        - $ref: '#/components/schemas/abstractResource'
      properties:
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
      type: object
      x-apiture-flattened: true
    configuration:
      x-apiture-version: 2.0.0
      title: Configuration
      description: >-
        Represents the configuration for various services.


        This schema was resolved from
        [`configurations/configuration`](https://api.apiture.com/schemas/configurations/configuration/v2.0.0/model.json).
      properties:
        _links:
          $ref: '#/components/schemas/links'
      example:
        _links:
          self:
            href: /configurations/configurations/
          'apiture:groups':
            href: /configurations/configurations/groups
      x-apiture-resolved-from: 'https://api.apiture.com/schemas/configurations/configuration/v2.0.0/model.json'
      x-apiture-namespace: configurations
      type: object
      x-apiture-flattened: true
    configurationGroups:
      x-apiture-version: 2.0.0
      title: Configuration Group Collection
      description: >-
        Collection of configuration groups. The items in the collection are ordered in the `_embedded` object with name `items`. The top-level
        `_links` object may contain pagination links (`self`, `next`, `prev`, `first`, `last`, `collection`).


        This schema was resolved from
        [`configurations/configurationGroups`](https://production.api.apiture.com/schemas/configurations/configurationGroups/v2.0.0/model.json).
      example:
        _profile: 'https://production.api.apiture.com/schemas/configurations/configurationGroups/v2.0.0/profile.json'
        start: 10
        limit: 10
        count: 67
        name: configurationGroups
        _links:
          self:
            href: /configurations/configurations/groups?start=10&limit=10
          first:
            href: /configurations/configurations/groups?start=0&limit=10
          next:
            href: /configurations/configurations/groups?start=20&limit=10
          collection:
            href: /configurations/configurations/groups
        _embedded:
          items:
            anyOf:
              - _profile: 'https://api.apiture.com/schemas/configurations/configurationGroup/v2.0.0/profile.json'
                _links:
                  self:
                    href: /configurations/groups/basic
                name: basic
                label: Basic Settings
                description: The basic settings for the Transfers API
              - _profile: 'https://api.apiture.com/schemas/configurations/configurationGroup/v2.0.0/profile.json'
                _links:
                  self:
                    href: /configurations/groups/calendar
                name: calendar
                label: Calendar
                description: 'A calendar that specifies which dates are valid for performing transfers (e.g., weekdays excluding federal holidays)'
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/configurations/configurationGroups/v2.0.0/model.json'
      x-apiture-namespace: configurations
      x-apiture-composition:
        - $ref: '#/components/schemas/collection'
        - properties:
            - _embedded
      properties:
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: Embedded objects.
          type: object
          properties:
            items:
              description: An array containing a page of configuration group items.
              type: array
              items:
                $ref: '#/components/schemas/configurationGroupSummary'
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
        count:
          description: >-
            The number of items in the collection. This value is _optional_ and may be omitted if the count is not computable efficiently. If a filter
            is applied to the collection (either implicitly or explicitly), the count, if present, indicates the number of items that satisfy the
            filter.
          type: integer
        start:
          description: The start index of this page of items.
          type: integer
        limit:
          description: The maximum number of items per page.
          type: integer
        name:
          description: The name of the collection.
          type: string
      type: object
      x-apiture-flattened: true
    configurationGroup:
      x-apiture-version: 2.0.0
      title: Configuration Group
      description: >-
        Represents a configuration group.


        This schema was resolved from
        [`configurations/configurationGroup`](https://production.api.apiture.com/schemas/configurations/configurationGroup/v2.0.0/model.json).
      example:
        _profile: 'https://api.apiture.com/schemas/configurations/configurationGroup/v2.0.0/profile.json'
        _links:
          self:
            href: /configurations/groups/basic
        name: basic
        label: Basic Settings
        description: The basic settings for the Transfers API
        schema:
          type: object
          properties:
            dailyLimit:
              type: number
              description: The daily limit for the number of transfers
            cutoffTime:
              type: string
              format: time
              description: The cutoff time for scheduling transfers for the current day
        values:
          dailyLimit: 5
          cutoffTime: '17:30:00'
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/configurations/configurationGroup/v2.0.0/model.json'
      x-apiture-namespace: configurations
      x-apiture-composition:
        - $ref: '#/components/schemas/configurationGroupSummary'
        - properties:
            - schema
            - values
      properties:
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
        name:
          description: 'The name of this configuration group, must be unique within the set of all resources of this type.'
          type: string
          maxLength: 48
          minLength: 1
          pattern: '[a-zA-Z][-\w_]*'
          example: transfers
        label:
          description: 'The text label for this resource, suitable for presentation to the client.'
          type: string
          maxLength: 128
          minLength: 1
          example: Transfers Configuration
        description:
          description: 'The full description for this resource, suitable for presentation to the client.'
          type: string
          maxLength: 4096
          minLength: 1
          example: The configuration for the Transfers API.
        schema:
          $ref: '#/components/schemas/configurationSchema'
        values:
          $ref: '#/components/schemas/configurationValues'
      type: object
      x-apiture-flattened: true
    configurationSchema:
      x-apiture-version: 2.0.1
      title: Configuration Schema (v2.0.1)
      description: >-
        The schema which defines the name and types of the

        variables that are part of this configuration definition.

        Property names must be simple identifiers

        which follow the pattern `letter [letter | digit | - | _]*`.


        This is implicitly a schema for `type: object`

        and contains the properties.


        The `values` in a configuration conform to the schema.

        The names and types are described with a subset of

        [JSON Schema Core](https://tools.ietf.org/html/draft-zyp-json-schema-04)

        and [JSON Schema Validation](https://tools.ietf.org/html/draft-fge-json-schema-validation-00)

        similar to that used to define schemas in

        [OpenAPI Specification 2.0](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#schemaObject).


        This schema was resolved from
        [`configurations/configurationSchema`](https://production.api.apiture.com/schemas/configurations/configurationSchema/v2.0.1/model.json).
      type: object
      additionalProperties:
        $ref: '#/components/schemas/configurationSchemaValue'
      example:
        type: object
        properties:
          dailyLimit:
            type: number
            description: The daily limit for the number of transfers
          cutoffTime:
            type: string
            format: time
            description: The cutoff time for scheduling transfers for the current day
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/configurations/configurationSchema/v2.0.1/model.json'
      x-apiture-namespace: configurations
      properties: {}
      x-apiture-flattened: true
    configurationValues:
      x-apiture-version: 2.0.0
      title: Configuration Values (v2.0.0)
      description: >-
        The data values associated with this configuration group:

        the group's variable names and values. These values must conform to this

        item's `schema`.



        *Note*: the `schema` may also contain `default` values

        which, if present, are used if a value is *not* set in the

        definition's `values`.



        For example, multiple configurations may use the same schema

        that defines values `a`, `b`, and `c`, but each configuration

        may have their own unique values for `a`, `b`, and `c`

        which is separate from the schema.


        This schema was resolved from
        [`configurations/configurationValues`](https://production.api.apiture.com/schemas/configurations/configurationValues/v2.0.0/model.json).
      type: object
      additionalProperties:
        $ref: '#/components/schemas/configurationValue'
      example:
        dailyLimit: 5
        cutoffTime: 63000
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/configurations/configurationValues/v2.0.0/model.json'
      x-apiture-namespace: configurations
      properties: {}
      x-apiture-flattened: true
    abstractResource:
      x-apiture-version: 2.0.0
      title: Abstract Resource (v2.0.0)
      description: >-
        An abstract schema used to define other schemas for request and response bodies. This is a
        [HAL](https://tools.ietf.org/html/draft-kelly-json-hal-08) resource representation. This model contains hypermedia `_links`, and either
        optional domain object data with `_profile` and optional `_embedded` objects, or an `_error` object. In responses, if the operation was
        successful, this object will not include the `_error`, but if the operation was a 4xx or 5xx error, this object will not include `_embedded`
        or any data fields, only `_error` and optionally `_links`.


        This schema was resolved from
        [`common/abstractResource`](https://production.api.apiture.com/schemas/common/abstractResource/v2.0.0/model.json).
      example:
        _profile: '{uri of resource profile.json}'
        _links:
          self:
            href: '{uri of current resource}'
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/abstractResource/v2.0.0/model.json'
      x-apiture-namespace: common
      x-apiture-composition:
        - $ref: '#/components/schemas/abstractRequest'
        - properties:
            - _error
      properties:
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
      type: object
      x-apiture-flattened: true
    collection:
      x-apiture-version: 2.0.0
      title: Collection (v2.0.0)
      description: |-
        A collection of resources. This is an abstract model schema which is extended to define specific resource collections.

        This schema was resolved from [`common/collection`](https://production.api.apiture.com/schemas/common/collection/v2.0.0/model.json).
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/collection/v2.0.0/model.json'
      x-apiture-namespace: common
      x-apiture-composition:
        - $ref: '#/components/schemas/abstractResource'
        - properties:
            - count
            - start
            - limit
            - name
      properties:
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
        count:
          description: >-
            The number of items in the collection. This value is _optional_ and may be omitted if the count is not computable efficiently. If a filter
            is applied to the collection (either implicitly or explicitly), the count, if present, indicates the number of items that satisfy the
            filter.
          type: integer
        start:
          description: The start index of this page of items.
          type: integer
        limit:
          description: The maximum number of items per page.
          type: integer
        name:
          description: The name of the collection.
          type: string
      type: object
      x-apiture-flattened: true
    attributes:
      x-apiture-version: 2.0.0
      title: Attributes (v2.0.0)
      description: |-
        An optional map of name/value pairs which contains additional dynamic data about the resource.

        This schema was resolved from [`common/attributes`](https://production.api.apiture.com/schemas/common/attributes/v2.0.0/model.json).
      type: object
      x-apiture-key: attributeName
      additionalProperties:
        $ref: '#/components/schemas/attributeValue'
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/attributes/v2.0.0/model.json'
      x-apiture-namespace: common
      properties: {}
      x-apiture-flattened: true
    summaryAccount:
      x-apiture-version: 2.6.0
      title: Account Summary (v2.6.0)
      description: >-
        Summary representation of an account resource in accounts collections.

        This representation normally does not contain any `_embedded` objects. If

        needed, call the `GET` operation on the item's `self` link to get

        `_embedded` objects.



        By default, not all account fields are set when paging through accounts

        via the collection. The following fields are not set unless

        the collection request includes `?fields=*`:

          * `balance`
          * `interest`
          * `cd`


        Additionally, the `summaryAccount` representation does not

        support the full set of links or the nested owners, beneficiaries,

        and authorized signers available in the `account` schema returned by the [`getAccount`](#op-getAccount) operation

        (`GET /accounts/{accountId}`).


        This schema was resolved from
        [`accounts/summaryAccount`](https://production.api.apiture.com/schemas/accounts/summaryAccount/v2.6.0/model.json).
      example:
        _id: 0399abed-fd3d-4830-a88b-30f38b8a365c
        _profile: 'https://api.apiture.com/schemas/accounts/summaryAccount/v2.6.0/profile.json'
        _links:
          self:
            href: /accounts/accounts/0399abed-fd3d-4830-a88b-30f38b8a365c
          'apiture:product':
            href: /products/products/0aba4bae-f18b-4c12-af99-5f8dbd682ae3
        name: My savings
        description: My Basic savings account
        routingNumber: '021000021'
        institutionName: Canapi Bank
        state: active
        title: John Smith
        ifxType: SDA
        allowsTransfers: true
        accountNumbers:
          full: '9876543210'
          masked: '*************3210'
        balance:
          current: '3450.30'
          available: '3450.30'
          currency: USD
        openedAt: '2019-04-30T10:01:07.375Z'
        paymentsEnabled: false
        checkOrderingEnabled: false
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/accounts/summaryAccount/v2.6.0/model.json'
      x-apiture-namespace: accounts
      x-apiture-composition:
        - $ref: '#/components/schemas/abstractResource'
        - $ref: '#/components/schemas/accountFields'
      properties:
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
        name:
          description: The user-assigned name of this account.
          type: string
          maxLength: 128
          minLength: 1
        description:
          description: The user-assigned description of this account.
          type: string
          maxLength: 4096
          minLength: 1
        interestPolicy:
          description: >-
            How interest credits on the account (if any) are disbursed. This field is `none` for non-interest bearing accounts. If this is `transfer`,
            the `apiture:interestTargetAccount` link in the account's `_link` references the target account for the disbursements. This field applies
            if the account is a CD (Certificate of Deposit a.k.a. Time Deposit) account.
          allOf:
            - $ref: '#/components/schemas/interestPolicy'
        _id:
          description: The unique identifier for this account resource. This is an immutable opaque string.
          readOnly: true
          type: string
        state:
          description: The state of the internal account.
          readOnly: true
          allOf:
            - $ref: '#/components/schemas/internalAccountState'
        title:
          description: The name of the account holder. This is derived from the user resource.
          type: string
          maxLength: 512
          example: John Smith
        productName:
          description: The name of the banking product that this account is an instance of. This is derived from the product resource.
          type: string
          maxLength: 128
          minLength: 1
          readOnly: true
        type:
          description: >-
            The name of the banking product type. This is derived from the _product_ resource. The `subtype` is more specific; `type` is a broad
            account category.
          type: string
          maxLength: 128
          minLength: 1
          readOnly: true
        subtype:
          description: The name of the banking product sub type. This is derived from the _product_ resource. This is more specific than the `type`.
          type: string
          maxLength: 128
          minLength: 1
          readOnly: true
        ifxType:
          description: 'A code which identifies the product type. This is one of the [IFX AcctType](https://ifxforum.org) values.'
          allOf:
            - $ref: '#/components/schemas/ifxType'
        accountNumbers:
          description: Different representations of the account number.
          allOf:
            - $ref: '#/components/schemas/accountNumbers'
        balance:
          description: The account balance.
          readOnly: true
          allOf:
            - $ref: '#/components/schemas/balance'
        allowsTransfers:
          type: boolean
          description: 'If `true`, the account is open to deposits and credits such as transfers or rollovers.'
          readOnly: true
          default: true
        openedAt:
          description: 'The date-time the account was opened. This is an [RFC 3339](https://tools.ietf.org/html/rfc3339) UTC time stamp.'
          type: string
          format: date-time
          readOnly: true
        interest:
          description: Interest disbursement settings for the account.
          type: object
          allOf:
            - $ref: '#/components/schemas/interest'
        cd:
          description: Certificate of Deposit properties for the account.
          type: object
          allOf:
            - $ref: '#/components/schemas/cd'
        cycleWithdrawalCount:
          description: >-
            The number of withdrawals made against this account within the current statement cycle. For some deposit accounts such as savings
            accounts, this is limited to a maximum defined in the corresponding product's constraints. If exceeded over multiple statement cycles, the
            financial institution may convert the account to a demand deposit (checking) account.
          type: integer
          readOnly: true
          minimum: 0
          example: 2
        institutionName:
          description: 'The name of the financial institution (FI), derived from the FI''s configuration.'
          type: string
          minLength: 2
          maxLength: 128
          readOnly: true
          example: Canapi Bank
        routingNumber:
          description: >-
            The account routing number which identifies the financial institution (FI). The full routing number is derived from the FI's
            configuration.
          type: string
          minLength: 9
          maxLength: 9
          readOnly: true
          example: '021000021'
        paymentsEnabled:
          description: >-
            If true, payments features such as bill pay are enabled and scheduled payments will debit from this account.<br>The property
            `paymentsEnabled` was added on version `2.5.0` of the schema.<br>The property `paymentsEnabled` was added on version `2.5.0` of the
            schema.
          type: boolean
          readOnly: true
          x-apiture-since: 2.5.0
        checkOrderingEnabled:
          description: >-
            If `true`, the user requesting this account resource may order checks for this account through the Check Orders API. The account state
            must be `active` and the associated product must also enable check ordering.<br>The property `checkOrderingEnabled` was added on version
            `2.6.0` of the schema.<br>The property `checkOrderingEnabled` was added on version `2.6.0` of the schema.
          type: boolean
          readOnly: true
          default: false
          x-apiture-since: 2.6.0
      type: object
      x-apiture-flattened: true
    configurationGroupSummary:
      x-apiture-version: 2.0.0
      title: Configuration Group Summary (v2.0.0)
      description: >-
        A summary of the data contained within a configuration group resource.


        This schema was resolved from
        [`configurations/configurationGroupSummary`](https://production.api.apiture.com/schemas/configurations/configurationGroupSummary/v2.0.0/model.json).
      example:
        _profile: 'https://api.apiture.com/schemas/configurations/configurationGroupSummary/v2.0.0/profile.json'
        _links:
          self:
            href: /configurations/groups/basic
        name: basic
        label: Basic Settings
        description: The basic settings for the Transfers API
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/configurations/configurationGroupSummary/v2.0.0/model.json'
      x-apiture-namespace: configurations
      x-apiture-composition:
        - $ref: '#/components/schemas/abstractResource'
        - properties:
            - name
            - label
            - description
      properties:
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
        name:
          description: 'The name of this configuration group, must be unique within the set of all resources of this type.'
          type: string
          maxLength: 48
          minLength: 1
          pattern: '[a-zA-Z][-\w_]*'
          example: transfers
        label:
          description: 'The text label for this resource, suitable for presentation to the client.'
          type: string
          maxLength: 128
          minLength: 1
          example: Transfers Configuration
        description:
          description: 'The full description for this resource, suitable for presentation to the client.'
          type: string
          maxLength: 4096
          minLength: 1
          example: The configuration for the Transfers API.
      type: object
      x-apiture-flattened: true
    abstractRequest:
      x-apiture-version: 2.0.0
      title: Abstract Request (v2.0.0)
      description: >-
        An abstract schema used to define other request-only schemas. This is a [HAL](https://tools.ietf.org/html/draft-kelly-json-hal-08) resource
        representation, minus the `_error` defined in `abstractResource`.


        This schema was resolved from [`common/abstractRequest`](https://production.api.apiture.com/schemas/common/abstractRequest/v2.0.0/model.json).
      properties:
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
      example:
        _profile: '{uri of resource profile.json}'
        _links:
          self:
            href: '{uri of current resource}'
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/abstractRequest/v2.0.0/model.json'
      x-apiture-namespace: common
      type: object
      x-apiture-flattened: true
    error:
      x-apiture-version: 2.0.0
      title: Error (v2.0.0)
      description: |-
        Describes an error in an API request or in a service called via the API.

        This schema was resolved from [`common/error`](https://production.api.apiture.com/schemas/common/error/v2.0.0/model.json).
      required:
        - message
      properties:
        message:
          type: string
          description: A localized message string describing the error condition.
        _id:
          description: >-
            A unique identifier for this error instance. This may be used as a correlation ID with the root cause error (i.e. this ID may be logged at
            the source of the error). This is is an opaque string.
          readOnly: true
          type: string
        statusCode:
          description: The HTTP status code associate with this error.
          type: integer
          minimum: 100
          maximum: 599
          example: 422
        type:
          type: string
          description: >-
            An error identifier which indicates the category of error and associate it with API support documentation or which the UI tier can use to
            render an appropriate message or hint. This provides a finer level of granularity than the `statusCode`. For example, instead of just 400
            Bad Request, the `type` may be much more specific. such as `integerValueNotInAllowedRange` or `numericValueExceedsMaximum` or
            `stringValueNotInAllowedSet`.
        occurredAt:
          type: string
          format: date-time
          description: 'An [RFC 3339](https://tools.ietf.org/html/rfc3339) UTC time stamp indicating when the error occurred.'
          example: '2018-02-02T03:37:15.375Z'
        attributes:
          description: >-
            Informative values or constraints which describe the error. For example, for a value out of range error, the attributes may specify the
            `minimum` and `maximum` values. This allows clients to present error messages as they see fit (the API does not assume the
            client/presentation tier). The set of attributes varies by error `type`.
          allOf:
            - $ref: '#/components/schemas/attributes'
        remediation:
          type: string
          description: An optional localized string which provides hints for how the user or client can resolve the error.
        errors:
          description: An optional array of nested error objects. This property is not always present.
          type: array
          items:
            $ref: '#/components/schemas/error'
        _links:
          $ref: '#/components/schemas/links'
      example:
        _id: 2eae46e1575c0a7b0115a4b3
        message: Descriptive error message...
        statusCode: 422
        type: errorType1
        remediation: Remediation string...
        occurredAt: '2018-01-25T05:50:52.375Z'
        errors:
          - _id: ccdbe2c5c938a230667b3827
            message: An optional embedded error
          - _id: dbe9088dcfe2460f229338a3
            message: Another optional embedded error
        _links:
          describedby:
            href: 'https://developer.apiture.com/errors/errorType1'
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/error/v2.0.0/model.json'
      x-apiture-namespace: common
      type: object
      x-apiture-flattened: true
    configurationValue:
      x-apiture-version: 2.0.0
      title: Configuration Value (v2.0.0)
      description: >-
        The data associated with this configuration.


        This schema was resolved from
        [`configurations/configurationValue`](https://production.api.apiture.com/schemas/configurations/configurationValue/v2.0.0/model.json).
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/configurations/configurationValue/v2.0.0/model.json'
      x-apiture-namespace: configurations
      type: object
      properties: {}
      x-apiture-flattened: true
    configurationSchemaValue:
      x-apiture-version: 2.0.0
      title: Configuration Schema Value (v2.0.0)
      description: >-
        The data associated with this configuration schema.


        This schema was resolved from
        [`configurations/configurationSchemaValue`](https://production.api.apiture.com/schemas/configurations/configurationSchemaValue/v2.0.0/model.json).
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/configurations/configurationSchemaValue/v2.0.0/model.json'
      x-apiture-namespace: configurations
      type: object
      properties: {}
      x-apiture-flattened: true
    attributeValue:
      x-apiture-version: 2.0.0
      title: Attribute Value (v2.0.0)
      description: |-
        The data associated with this attribute.

        This schema was resolved from [`common/attributeValue`](https://production.api.apiture.com/schemas/common/attributeValue/v2.0.0/model.json).
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/attributeValue/v2.0.0/model.json'
      x-apiture-namespace: common
      type: object
      properties: {}
      x-apiture-flattened: true
    labelGroup:
      title: Label Group (v1.0.0)
      description: >-
        A map that defines labels for the items in a group. This is a map from each item *name* &rarr; *a [`labelItem`](#schema-labelitem) object*.
        For example, consider a JSON response that includes a property named `revenueEstimate`; the values for `revenueEstimate` must be one of the
        items in the group named `estimatedAnnualRevenue`, with options ranging `under1Million`, to `over100Million`. The item name is used as the
        selected value in an Apiture representation, such as `{ ..., "revenueEstimate" : "from10to100Million" , ...}`, and the item with the name
        `from10to100Million` defines the presentation labels for that item, as well as other metadata about that choice: this is the range
        `[10000000.00,100000000.00)`.


        This allows the client to let the user select a value from a list, such as the following derivde from the labels in the example:

          * Unknown
          * Under $1M
          * $1M to $10M
          * $10M to $100M
          * $100M or more

        Note that the `other` item is hidden from the selection list, as that item is marked as `hidden`. For items which define numeric ranges, a
        client may instead let the customer *directly* enter their estimated annual revenue as a number, such as 4,500,000.00. The client can then
        match that number to one of ranges in the items and set the `revenueEstimate` to the corresponding item's name: `{ ..., "revenueEstimate" :
        "from1to10Million", ... }`.


        This schema was resolved from [`common/labelGroup`](https://production.api.apiture.com/schemas/common/labelGroup/v1.0.0/model.json).
      x-apiture-key: labelName
      x-apiture-version: 1.0.0
      additionalProperties:
        $ref: '#/components/schemas/labelItem'
      example:
        unknown:
          label: Unknown
          code: '0'
          hidden: true
        under1Million:
          label: Under $1M
          code: '1'
          range: '[0,1000000.00)'
          variants:
            fr:
              label: Moins de $1M
        from1to10Million:
          label: $1M to $10M
          code: '2'
          range: '[1000000.00,10000000.00)'
          variants:
            fr:
              label: $1M \u00e0 $10M
        from10to100Million:
          label: $10M to $100M
          code: '3'
          range: '[10000000.00,100000000.00)'
          variants:
            fr:
              - label $10M \u00e0 $100M
        over100Million:
          label: 'Over $100,000,000.00'
          code: '4'
          range: '[100000000.00,]'
          variants:
            fr:
              label: Plus de $10M
        other:
          label: Other
          code: 254
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/labelGroup/v1.0.0/model.json'
      x-apiture-namespace: common
      type: object
      properties: {}
      x-apiture-flattened: true
    links:
      title: Links (v1.0.0)
      x-apiture-version: 1.0.0
      description: |-
        An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.

        This schema was resolved from [`common/links`](https://production.api.apiture.com/schemas/common/links/v1.0.0/model.json).
      type: object
      x-apiture-key: linkRelationName
      additionalProperties:
        $ref: '#/components/schemas/link'
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/links/v1.0.0/model.json'
      x-apiture-namespace: common
      properties: {}
      x-apiture-flattened: true
    accountFields:
      x-apiture-version: 2.6.0
      title: Account Fields (v2.6.0)
      description: |-
        Fields of an internal account.

        This schema was resolved from [`accounts/accountFields`](https://production.api.apiture.com/schemas/accounts/accountFields/v2.6.0/model.json).
      x-apiture-fragment: true
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/accounts/accountFields/v2.6.0/model.json'
      x-apiture-namespace: accounts
      x-apiture-composition:
        - $ref: '#/components/schemas/accountCreationFields'
        - properties:
            - _id
            - state
            - title
            - productName
            - type
            - subtype
            - ifxType
            - accountNumbers
            - balance
            - allowsTransfers
            - openedAt
            - interest
            - cd
            - cycleWithdrawalCount
            - name
            - description
            - institutionName
            - routingNumber
            - paymentsEnabled
            - checkOrderingEnabled
      properties:
        name:
          description: The user-assigned name of this account.
          type: string
          maxLength: 128
          minLength: 1
        description:
          description: The user-assigned description of this account.
          type: string
          maxLength: 4096
          minLength: 1
        interestPolicy:
          description: >-
            How interest credits on the account (if any) are disbursed. This field is `none` for non-interest bearing accounts. If this is `transfer`,
            the `apiture:interestTargetAccount` link in the account's `_link` references the target account for the disbursements. This field applies
            if the account is a CD (Certificate of Deposit a.k.a. Time Deposit) account.
          allOf:
            - $ref: '#/components/schemas/interestPolicy'
        _id:
          description: The unique identifier for this account resource. This is an immutable opaque string.
          readOnly: true
          type: string
        state:
          description: The state of the internal account.
          readOnly: true
          allOf:
            - $ref: '#/components/schemas/internalAccountState'
        title:
          description: The name of the account holder. This is derived from the user resource.
          type: string
          maxLength: 512
          example: John Smith
        productName:
          description: The name of the banking product that this account is an instance of. This is derived from the product resource.
          type: string
          maxLength: 128
          minLength: 1
          readOnly: true
        type:
          description: >-
            The name of the banking product type. This is derived from the _product_ resource. The `subtype` is more specific; `type` is a broad
            account category.
          type: string
          maxLength: 128
          minLength: 1
          readOnly: true
        subtype:
          description: The name of the banking product sub type. This is derived from the _product_ resource. This is more specific than the `type`.
          type: string
          maxLength: 128
          minLength: 1
          readOnly: true
        ifxType:
          description: 'A code which identifies the product type. This is one of the [IFX AcctType](https://ifxforum.org) values.'
          allOf:
            - $ref: '#/components/schemas/ifxType'
        accountNumbers:
          description: Different representations of the account number.
          allOf:
            - $ref: '#/components/schemas/accountNumbers'
        balance:
          description: The account balance.
          readOnly: true
          allOf:
            - $ref: '#/components/schemas/balance'
        allowsTransfers:
          type: boolean
          description: 'If `true`, the account is open to deposits and credits such as transfers or rollovers.'
          readOnly: true
          default: true
        openedAt:
          description: 'The date-time the account was opened. This is an [RFC 3339](https://tools.ietf.org/html/rfc3339) UTC time stamp.'
          type: string
          format: date-time
          readOnly: true
        interest:
          description: Interest disbursement settings for the account.
          type: object
          allOf:
            - $ref: '#/components/schemas/interest'
        cd:
          description: Certificate of Deposit properties for the account.
          type: object
          allOf:
            - $ref: '#/components/schemas/cd'
        cycleWithdrawalCount:
          description: >-
            The number of withdrawals made against this account within the current statement cycle. For some deposit accounts such as savings
            accounts, this is limited to a maximum defined in the corresponding product's constraints. If exceeded over multiple statement cycles, the
            financial institution may convert the account to a demand deposit (checking) account.
          type: integer
          readOnly: true
          minimum: 0
          example: 2
        institutionName:
          description: 'The name of the financial institution (FI), derived from the FI''s configuration.'
          type: string
          minLength: 2
          maxLength: 128
          readOnly: true
          example: Canapi Bank
        routingNumber:
          description: >-
            The account routing number which identifies the financial institution (FI). The full routing number is derived from the FI's
            configuration.
          type: string
          minLength: 9
          maxLength: 9
          readOnly: true
          example: '021000021'
        paymentsEnabled:
          description: >-
            If true, payments features such as bill pay are enabled and scheduled payments will debit from this account.<br>The property
            `paymentsEnabled` was added on version `2.5.0` of the schema.<br>The property `paymentsEnabled` was added on version `2.5.0` of the
            schema.
          type: boolean
          readOnly: true
          x-apiture-since: 2.5.0
        checkOrderingEnabled:
          description: >-
            If `true`, the user requesting this account resource may order checks for this account through the Check Orders API. The account state
            must be `active` and the associated product must also enable check ordering.<br>The property `checkOrderingEnabled` was added on version
            `2.6.0` of the schema.<br>The property `checkOrderingEnabled` was added on version `2.6.0` of the schema.
          type: boolean
          readOnly: true
          default: false
          x-apiture-since: 2.6.0
      type: object
      x-apiture-flattened: true
    labelItem:
      title: Label Item (v1.0.0)
      description: >-
        An item in a [`labelGroup`](#schema-labelgroup), with a set of `variants` which contains different localized labels for the item. Each
        ([`simpleLabel`](#schema-simpleLabel)) variant defines the presentation text label and optional description for a language. Items may also
        have a lookup `code` to map to external syststems, a numeric range, and a `hidden` boolean to indicate the item is normally hidden in the UI.


        This schema was resolved from [`common/labelItem`](https://production.api.apiture.com/schemas/common/labelItem/v1.0.0/model.json).
      x-apiture-version: 1.0.0
      example:
        over100Million:
          label: 'Over $100,000,000.00'
          code: '4'
          range: '[100000000.00,]'
          variants:
            fr:
              label: Plus de $10M
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/labelItem/v1.0.0/model.json'
      x-apiture-namespace: common
      x-apiture-composition:
        - $ref: '#/components/schemas/simpleLabel'
        - properties:
            - variants
            - code
            - hidden
            - range
      properties:
        label:
          type: string
          description: A label or title which may be used as labels or other UI controls which present a value.
          example: Board of Directors
        description:
          type: string
          description: A more detailed localized description of a localizable label.
        variants:
          description: >-
            The language-specific variants of this label. The keys in this object are [RFC 7231](https://tools.ietf.org/html/rfc7231#section-3.1.3.1)
            language codes.
          x-apiture-key: languageCode
          type: object
          additionalProperties:
            $ref: '#/components/schemas/simpleLabel'
          example:
            en:
              label: More then $10M
            es:
              label: Mas de $10M
            fr:
              label: Plus de $10M
        code:
          type: string
          description: 'If the localized value is associated with an external standard or definition, this is a lookup code or key or URI for that value.'
          example: '3'
          minLength: 1
        hidden:
          type: boolean
          description: 'If `true`, this item is normally hidden from the User Interface.'
        range:
          description: >-
            The range of values, if the item describes a bounded numeric value. This is range notation such as `[min,max]`, `(exclusiveMin,max]`,
            `[min,exclusiveMax)`, or `(exclusiveMin,exclusiveMax)`. For example, `[0,100)` is the range greater than or equal to 0 and less than 100.
            If the *min* or *max* value are omitted, that end of the range is unbounded. For example, `(,1000.00)` means less than 1000.00 and
            `[20000.00,]` means 20000.00 or more. The ranges do not overlap or have gaps.
          type: string
          pattern: '^[\[\(](-?(0|[1-9][0-9]*)(\.[0-9]+)?)?,(-?(0|[1-9][0-9]*)(\.[0-9]+)?)?[\]\)]$'
      type: object
      x-apiture-flattened: true
    link:
      x-apiture-version: 1.0.0
      title: Link (v1.0.0)
      description: >-
        Describes a hypermedia link within a `_links` object in HAL representations. In Apiture APIs, links are [HAL
        links](https://developer.apiture.com/docs/concepts/links), but Apiture APIs do not use the `name` or `hreflang` properties of HAL. Apiture
        links _may_ include a `method` property.


        This schema was resolved from [`common/link`](https://production.api.apiture.com/schemas/common/link/v1.0.0/model.json).
      required:
        - href
      properties:
        href:
          type: string
          format: uri
          description: The URI or URI template for the resource/operation this link refers to.
        type:
          type: string
          description: The media type for the resource.
        templated:
          type: boolean
          description: 'If true, the link''s href is a [URI template](https://tools.ietf.org/html/rfc6570).'
        title:
          type: string
          description: An optional human-readable localized title for the link.
        deprecation:
          type: string
          format: uri
          description: 'If present, the containing link is deprecated and the value is a URI which provides human-readable text information about the deprecation.'
        profile:
          type: string
          format: uri
          description: 'The URI of a profile document, a JSON document which describes the target resource/operation.'
      example:
        href: /contacts/contacts/328f6bf6-d762-422f-a077-ab91ca4d0b6f
        title: Applicant
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/link/v1.0.0/model.json'
      x-apiture-namespace: common
      type: object
      x-apiture-flattened: true
    simpleLabel:
      title: Simple Label (v1.0.0)
      description: |-
        A text label and optional description.

        This schema was resolved from [`common/simpleLabel`](https://production.api.apiture.com/schemas/common/simpleLabel/v1.0.0/model.json).
      x-apiture-version: 1.0.0
      type: object
      required:
        - label
      properties:
        label:
          type: string
          description: A label or title which may be used as labels or other UI controls which present a value.
          example: Board of Directors
        description:
          type: string
          description: A more detailed localized description of a localizable label.
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/simpleLabel/v1.0.0/model.json'
      x-apiture-namespace: common
      x-apiture-flattened: true
    accountCreationFields:
      x-apiture-version: 1.0.0
      title: Account Creation Fields (v1.0.0)
      description: >-
        Fields used when creating an account.


        This schema was resolved from
        [`accounts/accountCreationFields`](https://production.api.apiture.com/schemas/accounts/accountCreationFields/v1.0.0/model.json).
      x-apiture-fragment: true
      type: object
      properties:
        name:
          description: The user-assigned name of this account.
          type: string
          maxLength: 128
          minLength: 1
        description:
          description: The user-assigned description of this account.
          type: string
          maxLength: 4096
          minLength: 1
        interestPolicy:
          description: >-
            How interest credits on the account (if any) are disbursed. This field is `none` for non-interest bearing accounts. If this is `transfer`,
            the `apiture:interestTargetAccount` link in the account's `_link` references the target account for the disbursements. This field applies
            if the account is a CD (Certificate of Deposit a.k.a. Time Deposit) account.
          allOf:
            - $ref: '#/components/schemas/interestPolicy'
      example:
        name: My College CD
        description: Higher interest college savings
        interestPolicy: capitalize
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/accounts/accountCreationFields/v1.0.0/model.json'
      x-apiture-namespace: accounts
      x-apiture-flattened: true
    internalAccountState:
      x-apiture-version: 1.0.0
      title: Internal Account State (v1.0.0)
      description: >-
        The state of the account.

        This field is immutable and derived.



        To change the state of an account, `POST` the account ID to

        the corresponding resource endpoints, using the corresponding

        link on the account resource:

        * To activate an account, use the `apiture:activate` link to `POST` to `/accounts/activeAccounts`.

        * To deactivate an account, use the `apiture:deactivate` link to `POST` to `/accounts/inactiveAccounts`.

        * To freeze an account, use the `apiture:freeze` link to `POST` to `/accounts/frozenAccounts`.

        * To close an account, use the `apiture:close` link to `POST` to `/accounts/closedAccounts`.


        <strong><code>internalAccountState</code></strong> strings may have one of the following

        [enumerated values](https://developer.apiture.com/concepts/label-groups#enumerations):


        <table>

        <tr>
          <th>Value</th><th>Description</th>
        </tr>


        <tr>
            <td><strong><code>pending</code></strong></td><td>Pending: A new account resource has been created but the account or its data has not been verified and the account is not active.</td>
            </tr>
        <tr>
            <td><strong><code>active</code></strong></td><td>Active: The account has been created and is now active and available for transactions as determined by the account's banking product.</td>
            </tr>
        <tr>
            <td><strong><code>inactive</code></strong></td><td>Inactive: An account which is marked inactive and not available for new transactions. Users can change their Inactive accounts back to active.</td>
            </tr>
        <tr>
            <td><strong><code>frozen</code></strong></td><td>frozen: An account which is frozen and not eligible for new transactions. This is typically the result of suspicious activity or fraud detection. The user must contact their financial institution to unfreeze the account (by changing the state back to `active`) or the financial institution may opt to close the account.</td>
            </tr>
        <tr>
            <td><strong><code>closed</code></strong></td><td>Closed: An account that is closed and removed from use Closed accounts are not eligble for transactions or to become active. Such accounts are retained for historical purposes because some transactions may refer to it. Users do not see closed accounts when they view their accounts.</td>
            </tr>
        </table>



        These enumeration values are further described by the [label group](https://developer.apiture.com/concepts/label-groups)

        named `internalAccountState` in the response from the [`getLabels`](#op-getLabels) operation.


        This schema was resolved from
        [`accounts/internalAccountState`](https://production.api.apiture.com/schemas/accounts/internalAccountState/v1.0.0/model.json).
      type: string
      enum:
        - pending
        - active
        - inactive
        - frozen
        - closed
      x-apiture-enum: internalAccountState
      example: active
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/accounts/internalAccountState/v1.0.0/model.json'
      x-apiture-namespace: accounts
      x-apiture-flattened: true
    ifxType:
      title: IFX Account Type (v1.0.0)
      description: >-
        A code which identifies the product type. This is one of the [IFX AcctType](https://ifxforum.org) values. Labels and descriptions for the
        enumeration values are in the `ifxType` key in the response of the `getLabels` operation.


        <strong><code>ifxType</code></strong> strings may have one of the following

        [enumerated values](https://developer.apiture.com/concepts/label-groups#enumerations):


        <table>

        <tr>
          <th>Value</th><th>Description</th>
        </tr>


        <tr>
            <td><strong><code>CCA</code></strong></td><td>Credit card account</td>
            </tr>
        <tr>
            <td><strong><code>CDA</code></strong></td><td>Certificate of deposit account (CD)</td>
            </tr>
        <tr>
            <td><strong><code>CLA</code></strong></td><td>Commercial loan account</td>
            </tr>
        <tr>
            <td><strong><code>CMA</code></strong></td><td>Cash management account</td>
            </tr>
        <tr>
            <td><strong><code>DDA</code></strong></td><td>Demand deposit account</td>
            </tr>
        <tr>
            <td><strong><code>EQU</code></strong></td><td>Home equity loan</td>
            </tr>
        <tr>
            <td><strong><code>GLA</code></strong></td><td>General ledger account</td>
            </tr>
        <tr>
            <td><strong><code>ILA</code></strong></td><td>Installment loan account</td>
            </tr>
        <tr>
            <td><strong><code>INV</code></strong></td><td>Investment account</td>
            </tr>
        <tr>
            <td><strong><code>IRA</code></strong></td><td>Individual retirement account</td>
            </tr>
        <tr>
            <td><strong><code>IRL</code></strong></td><td>Accounts held in Ireland</td>
            </tr>
        <tr>
            <td><strong><code>LOC</code></strong></td><td>Consumer line of credit</td>
            </tr>
        <tr>
            <td><strong><code>MLA</code></strong></td><td>Military Lending Account: Credit facility held by former US service member</td>
            </tr>
        <tr>
            <td><strong><code>MMA</code></strong></td><td>Money market account</td>
            </tr>
        <tr>
            <td><strong><code>PBA</code></strong></td><td>Packaged bank Account: Account with additional benefits that charges a fixed monthly fee.</td>
            </tr>
        <tr>
            <td><strong><code>PPA</code></strong></td><td>Private pension administrator</td>
            </tr>
        <tr>
            <td><strong><code>RWD</code></strong></td><td>Reward accounts</td>
            </tr>
        <tr>
            <td><strong><code>SDA</code></strong></td><td>Savings deposit account</td>
            </tr>
        </table>



        These enumeration values are further described by the [label group](https://developer.apiture.com/concepts/label-groups)

        named `ifxType` in the response from the [`getLabels`](#op-getLabels) operation.


        This schema was resolved from [`products/ifxType`](https://production.api.apiture.com/schemas/products/ifxType/v1.0.0/model.json).
      x-apiture-enum: ifxType
      type: string
      enum:
        - CCA
        - CDA
        - CLA
        - CMA
        - DDA
        - EQU
        - GLA
        - ILA
        - INV
        - IRA
        - IRL
        - LOC
        - MLA
        - MMA
        - PBA
        - PPA
        - RWD
        - SDA
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/products/ifxType/v1.0.0/model.json'
      x-apiture-namespace: products
      x-apiture-flattened: true
    accountNumbers:
      title: Account Numbers (v1.0.0)
      description: |-
        Different representations of an account number.

        This schema was resolved from [`common/accountNumbers`](https://production.api.apiture.com/schemas/common/accountNumbers/v1.0.0/model.json).
      properties:
        masked:
          description: >-
            A partial account number that does not contain all the digits of the full account number. This masked number appears in statements or in
            user experience presentation. It is sufficient for a user to differentiate this account from other accounts they hold, but is not
            sufficient for initiating transfers, etc. The first character is the mask character and is repeated; this does not indicate that the full
            account number is the same as the mask length. This value is derived and immutable.
          type: string
          minLength: 8
          maxLength: 32
          readOnly: true
          example: '*************3210'
        full:
          description: >-
            The full account number. This value only appears when `?unmasked=true` is passed on the `GET` request. Not included in the summary
            representation of the account that is included in account collection responses. This value is derived and immutable.
          type: string
          minLength: 4
          maxLength: 17
          example: '9876543210'
          readOnly: true
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/accountNumbers/v1.0.0/model.json'
      x-apiture-namespace: common
      type: object
      x-apiture-flattened: true
    balance:
      x-apiture-version: 1.0.0
      title: Account Balance (v1.0.0)
      description: >-
        The balance of the account. This is derived data and not mutable through the API. Balances may be negative, indicating a deficit or loan
        balance.


        This schema was resolved from [`accounts/balance`](https://production.api.apiture.com/schemas/accounts/balance/v1.0.0/model.json).
      properties:
        current:
          description: The current balance is the available balance plus all pending credits and minus all pending debits.
          type: string
          readOnly: true
          example: '3450.30'
        available:
          description: >-
            The string representation of the exact decimal available balance. For deposit accounts, this reflects the amount that may be used for
            withdrawals or transfers. This field does not apply to debit accounts such as loans.
          type: string
          readOnly: true
          example: '2850.30'
        hold:
          description: >-
            The `hold` balance is the total amount of funds held due to holds placed on individual transactions. Transaction holds reduce the
            available balance until expiration.
          type: string
          readOnly: true
          example: '500.00'
        reserve:
          description: A `reserve` balance is the amount placed on hold by the Financial Institution.  A reserve balance reduces the available balance.
          type: string
          readOnly: true
          example: '100.00'
        pendingCredits:
          description: >-
            The string representation of the total of all pending credits against this account. This contributes to the current balance but not the
            available balance.
          type: string
          readOnly: true
          example: '3000.00'
        pendingDebits:
          description: >-
            The string representation of the total of all pending debits against this account. This contributes to the current balance but not the
            available balance.
          type: string
          readOnly: true
          example: '0.00'
        currency:
          description: 'The [ISO 4217 currency code](https://en.wikipedia.org/wiki/ISO_4217) for this balance.'
          type: string
          readOnly: true
      example:
        current: '3450.30'
        available: '2850.30'
        hold: '500.00'
        reserve: '100.00'
        currency: USD
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/accounts/balance/v1.0.0/model.json'
      x-apiture-namespace: accounts
      type: object
      x-apiture-flattened: true
    interest:
      x-apiture-version: 1.0.0
      title: Interest (v1.0.0)
      description: |-
        The account's accrued interest. The values are in the `currency` associated with the account.

        This schema was resolved from [`accounts/interest`](https://production.api.apiture.com/schemas/accounts/interest/v1.0.0/model.json).
      type: object
      properties:
        yearToDate:
          description: The interest earned to date since the beginning of the year.
          type: string
          example: '3.12'
          readOnly: true
        sinceOpening:
          description: The interest earned since the account was opened.
          type: string
          example: '34.62'
          readOnly: true
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/accounts/interest/v1.0.0/model.json'
      x-apiture-namespace: accounts
      x-apiture-flattened: true
    cd:
      x-apiture-version: 1.4.0
      title: Certificate of Deposit (CD) Properties (v1.4.0)
      description: |-
        Properties of a Certificate of Deposit (CD, a.k.a. Time Deposit) account.

        This schema was resolved from [`accounts/cd`](https://production.api.apiture.com/schemas/accounts/cd/v1.4.0/model.json).
      type: object
      properties:
        maturesAt:
          description: >-
            The date-time that this account will mature. The account matures on the date which is derived by adding the duration of the `term` to the
            opening date-time. The date-time is a string in [RFC 3339](https://tools.ietf.org/html/rfc3339) UTF format: `YYYY-MM-DDThh:mm:ss.sssZ`.
          type: string
          format: date-time
          readOnly: true
          example: '2019-10-30T08:16:00.000Z'
        apyBumpedAt:
          description: >-
            The date-time that the user bumped the rate after the financial institution offered a higher rate. This property only exists if the user
            elected to bump the APY rate during this account's current term. If the account is rolled over to a new account, this property does not
            exist (even if the rollover has the same account number). See the [`bumpApyRate`](#op-bumpApyRate) operation. The date-time is a string in
            [RFC 3339](https://tools.ietf.org/html/rfc3339) UTF format: `YYYY-MM-DDThh:mm:ss.sssZ`.
          type: string
          format: date-time
          readOnly: true
          example: '2019-10-30T08:16:00.000Z'
        term:
          description: |-
            The maturity term.
            The account matures on the date which is derived by adding the
            duration of the `term` to the opening date-time.


            This value is an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations) string of
            the form `P[n]Y[n]M[n]D` to specify the term in the number of years/months/days.
            For example, the values `P30D`, `P6M`, `P2Y` indicate a term of 30 days,
            six months, and two years, respectively.
          type: string
          format: period
          readOnly: true
          example: P6M
        maturityPolicy:
          description: What happens to the account upon maturity.
          allOf:
            - $ref: '#/components/schemas/maturityPolicy'
        rolloverProductName:
          description: >-
            If this account rolls over into a new product at maturity, this is the name of the banking product for the rollover account. The product
            is defined in the `apiture:rolloverProduct` in the account's `_links`.
          type: string
          readOnly: true
        transferAccount:
          description: >-
            Details of the existing internal or external account where interest and/or balance are transferred at CD maturity, depending on the
            settings in `maturityPolicy`. This object only exists if the maturity policy specifies transferring. This object and the properties are
            derived from the account referenced by the `apiture:transferTargetAccount` link that is used in [`createAccount`](#op-createAccount) or
            [`updateAccount`](#op-updateAccount).
          readOnly: true
          allOf:
            - $ref: '#/components/schemas/cdTransferAccount'
        inDebitGracePeriod:
          description: >-
            If this account is within the debit grace period, then it is eligible to withdraw funds without being assessed a penalty. If `true` the
            account is in the grace period in which debits are allowed.
          type: boolean
          readOnly: true
        inCreditGracePeriod:
          description: >-
            If this account is within the credit grace period, then it is eligible to add funds without being assessed a penalty. If `true` the
            account is in the grace period in which credits are allowed.
          type: boolean
          readOnly: true
        gracePeriodDebitEndsAt:
          description: >-
            If the account is in a debit-eligible grace period, this is the date the grace period ends for debits in [RFC
            3339](https://tools.ietf.org/html/rfc3339) date-time format, `YYYY-MM-DDThh:mm:ssZ`. Otherwise, this field is omitted.
          type: string
          format: date-time
          readOnly: true
          example: '2020-07-30T04:59:59.000Z'
        gracePeriodCreditEndsAt:
          description: >-
            If the account is in a credit-eligible grace period, this is the date the grace period ends for credits in [RFC
            3339](https://tools.ietf.org/html/rfc3339) date format, `YYYY-MM-DDThh:mm:ssZ`. Otherwise, this field is omitted.
          type: string
          format: date-time
          readOnly: true
          example: '2020-07-30T04:59:59.000Z'
        beneficialOwnersConfirmed:
          description: >-
            When updating the maturity settings for a business CD account, a `true` value indicates the user has confirmed the existing beneficial
            owners on the account. This property exists _only_ in [`patchAccount`](#op-patchAccount) _request_ operations and is not present in
            responses. Note: The beneficial owners are part of the owning organization for business accounts; see the Organization's API.
          type: boolean
          x-apiture-writeOnly: true
          x-apiture-todo: 'writeOnly: true when convert to OpenAPI 3.0'
      example:
        maturesAt: '2019-10-30T08:16:00.000Z'
        apyBumpedAt: '2019-10-30T08:16:00.000Z'
        term: P6M
        maturityPolicy: transferPrincipalAndInterest
        transferAccount:
          name: My Premiere Savings
          title: John Smith
          institutionName: 3rd Party Bank
          routingNumber: '021000021'
          accountNumbers:
            masked: '*************3210'
            full: '9876543210'
        inDebitGracePeriod: true
        inCreditGracePeriod: true
        gracePeriodDebitEndsAt: '2020-07-30T04:59:59.000Z'
        gracePeriodCreditEndsAt: '2020-07-30T04:59:59.000Z'
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/accounts/cd/v1.4.0/model.json'
      x-apiture-namespace: accounts
      x-apiture-flattened: true
    maturityPolicy:
      title: Maturity Policy (v1.0.0)
      description: >-
        Indicates how the principal and interest are processed upon maturity. The values indicate whether to rollover (to a time deposit account of
        the same rate and term), transfer funds to another (possibly new) deposit account, or simply hold the funds in the current account (which may
        no longer accrue interest). Labels and descriptions for the enumeration values are in the `maturityPolicy` key in the response of the
        `getLabels` operation.


        <strong><code>maturityPolicy</code></strong> strings may have one of the following

        [enumerated values](https://developer.apiture.com/concepts/label-groups#enumerations):


        <table>

        <tr>
          <th>Value</th><th>Description</th>
        </tr>


        <tr>
            <td><strong><code>rolloverPrincipalAndInterest</code></strong></td><td>Rollover principal and interest to a new CD of the same product: Upon maturity, both principal and interest rollover into a specified banking product, such as a savings, checking, or other deposit account.</td>
            </tr>
        <tr>
            <td><strong><code>transferPrincipalAndInterest</code></strong></td><td>Transfer principal and interest to a deposit account: Upon maturity, the principal an interest are both transferred to an existing or new deposit account.</td>
            </tr>
        <tr>
            <td><strong><code>rolloverPrincipalAndTransferInterest</code></strong></td><td>Transfer interest to a new deposit account an rollover principal to a new CD of the same product: Upon maturity, the principal rolls over into a specified banking product and the interest is transferred to an existing deposit account.</td>
            </tr>
        <tr>
            <td><strong><code>holdPrincipalAndInterest</code></strong></td><td>Hold principal and accued interest in the CD account until withdrawal: Upon maturity, the principal and interest are held in the current time deposit account. The account may or may not accrue further interest, depending on the terms of the time deposit product. Funds may be withdrawn or transferred.</td>
            </tr>
        <tr>
            <td><strong><code>partialTransfer</code></strong></td><td>Partial Transfer: Upon maturity, any funds greater than the maturity threshold is transfered to an existing deposit account and the rest remains on deposit. The account may or may not accrue further interest, depending on the terms of the time deposit product. Funds may be withdrawn or transferred.</td>
            </tr>
        </table>



        These enumeration values are further described by the [label group](https://developer.apiture.com/concepts/label-groups)

        named `maturityPolicy` in the response from the [`getLabels`](#op-getLabels) operation.


        This schema was resolved from
        [`products/maturityPolicy`](https://production.api.apiture.com/schemas/products/maturityPolicy/v1.0.0/model.json).
      type: string
      enum:
        - rolloverPrincipalAndInterest
        - transferPrincipalAndInterest
        - rolloverPrincipalAndTransferInterest
        - holdPrincipalAndInterest
        - partialTransfer
      x-apiture-enum: maturityPolicy
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/products/maturityPolicy/v1.0.0/model.json'
      x-apiture-namespace: products
      x-apiture-flattened: true
    cdTransferAccount:
      title: CD Transfer Account (v1.0.0)
      description: >-
        Properties of the target account for transferring funds from a maturing CD account.


        This schema was resolved from
        [`accounts/cdTransferAccount`](https://production.api.apiture.com/schemas/accounts/cdTransferAccount/v1.0.0/model.json).
      example:
        name: My Premiere Savings
        title: John Smith
        routingNumber: '021000021'
        accountNumbers:
          masked: '*************3210'
        institutionName: 3rd Party Bank
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/accounts/cdTransferAccount/v1.0.0/model.json'
      x-apiture-namespace: accounts
      x-apiture-composition:
        - $ref: '#/components/schemas/accountIdentification'
      properties:
        name:
          description: The account name.
          type: string
        title:
          description: 'The title of the account. Traditionally, this is the name of the account holder.'
          maxLength: 512
          type: string
          example: John Smith
        institutionName:
          description: The name of the financial institution which manages the account.
          type: string
          minLength: 2
          maxLength: 128
          example: 3rd Party Bank
          readOnly: true
        routingNumber:
          description: >-
            The account routing number which identifies the financial institution. The full routing number and full account number are required to
            fully identify the account.
          type: string
          minLength: 9
          maxLength: 9
          example: '021000021'
          readOnly: true
        accountNumbers:
          description: The masked and full account numbers for this account. The `full` value only appears when `?unmasked=true` is passed on the `GET` request.
          type: object
          allOf:
            - $ref: '#/components/schemas/accountNumbers'
          readOnly: true
          example:
            masked: '*************3210'
            full: '9876543210'
      type: object
      x-apiture-flattened: true
    interestPolicy:
      title: Account Interest Policy (v1.0.0)
      description: >-
        How interest credits on the account (if any) are disbursed.


        <strong><code>interestPolicy</code></strong> strings may have one of the following

        [enumerated values](https://developer.apiture.com/concepts/label-groups#enumerations):


        <table>

        <tr>
          <th>Value</th><th>Description</th>
        </tr>


        <tr>
            <td><strong><code>none</code></strong></td><td>None: This account does not earn interest.</td>
            </tr>
        <tr>
            <td><strong><code>capitalize</code></strong></td><td>Capitalize: When interest is posted, it is deposited back into the account.</td>
            </tr>
        <tr>
            <td><strong><code>transfer</code></strong></td><td>Transfer: When interest is posted, it is transferred to another account.</td>
            </tr>
        </table>



        These enumeration values are further described by the [label group](https://developer.apiture.com/concepts/label-groups)

        named `interestPolicy` in the response from the [`getLabels`](#op-getLabels) operation.


        This schema was resolved from
        [`accounts/interestPolicy`](https://production.api.apiture.com/schemas/accounts/interestPolicy/v1.0.0/model.json).
      x-apiture-enum: interestPolicy
      type: string
      enum:
        - none
        - capitalize
        - transfer
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/accounts/interestPolicy/v1.0.0/model.json'
      x-apiture-namespace: accounts
      x-apiture-flattened: true
    accountIdentification:
      title: Account Identification (v1.0.0)
      description: >-
        Properties which identify a specific account.


        This schema was resolved from
        [`accounts/accountIdentification`](https://production.api.apiture.com/schemas/accounts/accountIdentification/v1.0.0/model.json).
      type: object
      properties:
        name:
          description: The account name.
          type: string
        title:
          description: 'The title of the account. Traditionally, this is the name of the account holder.'
          maxLength: 512
          type: string
          example: John Smith
        institutionName:
          description: The name of the financial institution which manages the account.
          type: string
          minLength: 2
          maxLength: 128
          example: 3rd Party Bank
          readOnly: true
        routingNumber:
          description: >-
            The account routing number which identifies the financial institution. The full routing number and full account number are required to
            fully identify the account.
          type: string
          minLength: 9
          maxLength: 9
          example: '021000021'
          readOnly: true
        accountNumbers:
          description: The masked and full account numbers for this account. The `full` value only appears when `?unmasked=true` is passed on the `GET` request.
          type: object
          allOf:
            - $ref: '#/components/schemas/accountNumbers'
          readOnly: true
          example:
            masked: '*************3210'
            full: '9876543210'
      example:
        name: My Premiere Savings
        title: John Smith
        routingNumber: '021000021'
        accountNumbers:
          masked: '*************3210'
        institutionName: 3rd Party Bank
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/accounts/accountIdentification/v1.0.0/model.json'
      x-apiture-namespace: accounts
      x-apiture-flattened: true
  responses:
    '304':
      description: Not Modified. The resource has not been modified since it was last fetched.
    '400':
      description: >-
        Bad Request. The request body or one or more of the query parameters was not well formed.  The `_error` field in the response contains details
        about the request error.


        This error response may have one of the following `type` values:

        * [`emptyRequestBody`](#err-emptyRequestBody)
      x-apiture-errors:
        - emptyRequestBody
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/errorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
    '412':
      description: >-
        Precondition Failed. The supplied `if-Match` header value does not match the most recent `ETag` response header value. The resource has
        changed in the interim.
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/errorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
    '422':
      description: >-
        Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The `_error` field in the response contains
        details about the request error.
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/errorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
    204Deleted:
      description: No Content. The resource was deleted successfully.
    404Deposit:
      description: >-
        Not Found. There is no such deposit resource at the specified `{depositId}` The `_error` field in the response contains details about the
        request error.


        This error response may have one of the following `type` values:

        * [`invalidDepositId`](#err-invalidDepositId)
      x-apiture-errors:
        - invalidDepositId
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/errorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
    404Check:
      description: >-
        Not Found. There is no such check resource at the specified `{checkId}` The `_error` field in the response contains details about the request
        error.


        This error response may have one of the following `type` values:

        * [`invalidCheckId`](#err-invalidCheckId)
      x-apiture-errors:
        - invalidCheckId
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/errorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
    404CheckImage:
      description: |-
        Not Found. There is no check image found. The `_error` field in the response contains details about the request error.

        This error response may have one of the following `type` values:
        * [`invalidCheckId`](#err-invalidCheckId)
        * [`checkImageNotFound`](#err-checkImageNotFound)
      x-apiture-errors:
        - invalidCheckId
        - checkImageNotFound
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/errorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
    404ConfigurationGroup:
      description: >-
        Not Found. There is no such configuration group resource at the specified `{groupName}` The `_error` field in the response contains details
        about the request error.


        This error response may have one of the following `type` values:

        * [`invalidGroupName`](#err-invalidGroupName)
      x-apiture-errors:
        - invalidGroupName
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/errorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
    404ConfigurationGroupOrValue:
      description: >-
        Not Found. There is either no such configuration group resource at the specified `{groupName}` or no such value at the specified
        `{valueName}`. The `_error` field in the response contains details about the request error.


        This error response may have one of the following `type` values:

        * [`invalidValueName`](#err-invalidValueName)
      x-apiture-errors:
        - invalidValueName
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/errorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
    409CreateCheckDepositConflict:
      description: |-
        Conflict. The request to create the check deposit is not allowed. The `_error` field in the response contains details about the request error.

        This error response may have one of the following `type` values:
        * [`inProgressCheckDeposit`](#err-inProgressCheckDeposit)
      x-apiture-errors:
        - inProgressCheckDeposit
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/errorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
    409SubmitCheckDepositConflict:
      description: |-
        Conflict. The request to submit the check deposit is not allowed. The `_error` field in the response contains details about the request error.

        This error response may have one of the following `type` values:
        * [`invalidCheckDepositState`](#err-invalidCheckDepositState)
        * [`invalidChecks`](#err-invalidChecks)
      x-apiture-errors:
        - invalidCheckDepositState
        - invalidChecks
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/errorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
    409CheckDepositStateConflict:
      description: |-
        Conflict. The requested check deposit operation is not allowed. The `_error` field in the response contains details about the request error.

        This error response may have one of the following `type` values:
        * [`invalidCheckDepositState`](#err-invalidCheckDepositState)
      x-apiture-errors:
        - invalidCheckDepositState
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/errorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
    409CheckStateConflict:
      description: |-
        Conflict. The requested check operation is not allowed. The `_error` field in the response contains details about the request error.

        This error response may have one of the following `type` values:
        * [`invalidCheckState`](#err-invalidCheckState)
      x-apiture-errors:
        - invalidCheckState
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/errorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
  parameters:
    accountQueryParam:
      name: account
      description: >-
        Return check deposit limits for the named account. This is the `_id` of the account resource. If omitted, the response contains only user
        limits.
      in: query
      schema:
        type: string
    depositIdPathParam:
      name: depositId
      description: The unique identifier of this deposit. This is an opaque string.
      in: path
      required: true
      schema:
        type: string
    checkIdPathParam:
      name: checkId
      description: The unique identifier of this check. This is an opaque string.
      in: path
      required: true
      schema:
        type: string
    checkSidePathParam:
      name: side
      description: |-
        The side of the check. Valid check `side` values:
          * `front`
          * `back`
      in: path
      required: true
      schema:
        type: string
    filterQueryParam:
      name: filter
      in: query
      description: 'Optional filter criteria. See [filtering](https://developer.apiture.com/docs/concepts/filtering).'
      schema:
        type: string
    qQueryParam:
      name: q
      in: query
      description: 'Optional search string. See [searching](https://developer.apiture.com/docs/concepts/searching).'
      schema:
        type: string
    stateQueryParam:
      name: state
      in: query
      description: >-
        Subset of the check deposit collection to those whose `state` matches this value. Use `|` to separate multiple values. For example,
        `?state=pending` matches only items whose `state` is `pending`; `?state=pending|submitted` matches items whose `state` is `pending` or
        `submitted`. This is combined with an implicit `and` with other filters if they are used. See
        [filtering](https://developer.apiture.com/docs/concepts/filtering).
      schema:
        type: string
        enum:
          - pending
          - submitted
          - accepted
          - rejected
          - acceptedWithRejections
    depositIdQueryParam:
      name: depositId
      in: query
      description: The unique identifier of this deposit. This is an opaque string.
      schema:
        type: string
    continueSessionParam:
      name: continueSession
      in: query
      description: 'If `true`, the service will attempt to reuse the user''s check deposit provider session.'
      schema:
        type: boolean
        default: false
    ifMatchHeaderParam:
      name: If-Match
      description: The entity tag that was returned in the `ETag` response. This must match the current entity tag of the resource.
      in: header
      schema:
        type: string
    ifNoneMatchHeaderParam:
      name: If-None-Match
      description: >-
        The entity tag that was returned in the `ETag` response. If the resource's current entity tag matches, the `GET` returns 304 (Not Modified)
        and no response body, else the resource representation is returned.
      in: header
      schema:
        type: string
    configurationGroupNamePathParam:
      name: groupName
      description: The unique name of this configuration group.
      in: path
      required: true
      schema:
        type: string
    configurationGroupValueNamePathParam:
      name: valueName
      description: >-
        The unique name of a value in a configuration group. This is the name of the value in the `schema`. A `{valueName}` must be a simple
        identifier following the pattern _`letter [letter | digit | '-' | '_']*`_
      in: path
      required: true
      schema:
        type: string
  securitySchemes:
    apiKey:
      type: apiKey
      name: API-Key
      in: header
      description: >-
        API Key based authentication. Each thing must pass its private, unique API key, allocated in the developer portal, via the `API-Key:
        {api-key}` request header.
    accessToken:
      type: oauth2
      description: >-
        OAuth2 client access token authentication. The client authenticates against the server at `authorizationUrl`, passing the client's private
        `clientId` (and optional `clientSecret`) as part of this flow. The client obtains an access token from the server at `tokenUrl`. It then
        passes the received access token via the `Authorization: Bearer {access-token}` header in subsequent API calls. The authorization process also
        returns a refresh token which the client should use to renew the access token before it expires.
      flows:
        authorizationCode:
          authorizationUrl: 'https://auth.devbank.apiture.com/auth/oauth2/authorize'
          tokenUrl: 'https://api.devbank.apiture.com/auth/oauth2/token'
          scopes:
            banking/read: Read access to things
            banking/write: Write (update) access to things
            banking/delete: Delete access to things
            banking/full: Full access to things
