User Uploads

Upload and retrieve documents.



#The user upload object

Attributes
  • #
    idstring (uuid)
    Unique ID of the uploaded document.
  • #
    accountstring (uuid)
    ID of the account associated with the uploaded document.
  • #
    document_typestring (enum)

    The document category in Link the user selected, or the document_type provided when uploading via the API.

    If OCR processing is enabled, this value will be overwritten if the document is found to be a different type.

  • #
    file_urlstring

    URL linking to the original uploaded document file.


    This static URL redirects to a download page that requires Argyle authentication headers. See the dropdown below for more information.

  • #
    file_namestring
    File name of the uploaded document on the user's computer or phone.
  • #
    metadataobject
    Contains document OCR and authenticity information.
  • #
    employmentobject

    Will contain document report data (coming soon).

  • #
    ocr_dataobject

    Contains Ocrolus OCR data.

    Available for paystubs, W-2s, and 1099s when Ocrolus is enabled.

  • #
    ocr_authenticityobject

    Contains Ocrolus authenticity data.


    Includes individual instances of tampering or other authenticity-related edits made to the uploaded document that were detected.

    Available for paystubs, W-2s, and 1099s when Ocrolus is enabled.

  • #
    ocr_authenticity_scoreinteger

    Ocrolus authenticity score.


    Single score that captures the likelihood the uploaded document is authentic, as determined by Ocrolus.

    Available for paystubs, W-2s, and 1099s when Ocrolus is enabled.

  • #
    processingobject
    Contains OCR processing statuses.
  • #
    classificationstring

    OCR classification processing status.

  • #
    ocrstring

    Full OCR processing status.

  • #
    authenticitystring

    OCR authenticity processing status.

  • #
    created_atstring (datetime)

    Timestamp (ISO 8601) when the uploaded document was submitted.

  • #
    updated_atstring (datetime)

    Timestamp (ISO 8601) when the user upload object was last updated.

Example
1{
2  "id": "01320596-2c3d-189c-53e7-a8ce6d625b33",
3  "account": "01856c65-43b6-8b5d-b32a-56b8fbda5c28",
4  "document_type": "proof-of-identity",
5  "file_url": "www.argyle.com/storagename",
6  "file_name": "my_drivers_license.pdf",
7  "metadata": {
8    "employment": {},
9    "ocr_data": {},
10    "ocr_authenticity": {},
11    "ocr_authenticity_score": null
12  },
13  "processing": {
14    "classification": "unauthorized",
15    "ocr": "unauthorized",
16    "authenticity": "unauthorized"
17  },
18  "created_at": "2024-07-08T13:43:49.864033Z",
19  "updated_at": "2024-07-08T13:43:51.868787Z"
20}

#Upload a document

post/v2/user-uploads

Upload a document via the API.

Can be used in combination with OCR processing.

Multipart form data
  • #
    userstring (uuid)
    required
    ID of the user object.
  • #
    document_typestring (enum)
    required

    The type of document.

  • #
    uploadfile
    required

    Link to the document to be uploaded.

    Max of 1 document per POST request.

Example Request
1curl --request POST \
2     --url https://api.argyle.com/v2/user-uploads \
3     --header 'content-type: multipart/form-data' \
4     --form 'user=018051aa-f7a9-a0db-2f38-6cfa325e9d69' \
5     --form 'document_type=paystubs' \
6     --form 'upload=@/path/to/paystub.pdf'
Example Response
1{
2  "id": "01320596-2c3d-189c-53e7-a8ce6d625b33",
3  "account": "01856c65-43b6-8b5d-b32a-56b8fbda5c28",
4  "document_type": "paystubs",
5  "file_url": "www.argyle.com/storagename",
6  "file_name": "most_recent_paystub.pdf",
7  "metadata": {
8    "employment": {},
9    "ocr_data": {},
10    "ocr_authenticity": {},
11    "ocr_authenticity_score": null
12  },
13  "processing": {
14    "classification": "unauthorized",
15    "ocr": "unauthorized",
16    "authenticity": "unauthorized"
17  },
18  "created_at": "2024-07-08T13:43:49.864033Z",
19  "updated_at": "2024-07-08T13:43:51.868787Z"
20}

#Retrieve a document

get/v2/user-uploads/{id}

Retrieves a user upload object.

Path parameters
  • #
    idstring (uuid)
    required
    ID of the user upload object to be retrieved.
Example Request
1curl --request GET \
2     --url https://api.argyle.com/v2/user-uploads/{id} \
3     --header 'accept: application/json' \
4     --header 'content-type: application/json'
Example Response
1{
2  "id": "01320596-2c3d-189c-53e7-a8ce6d625b33",
3  "account": "01856c65-43b6-8b5d-b32a-56b8fbda5c28",
4  "document_type": "proof-of-identity",
5  "file_url": "www.argyle.com/storagename",
6  "file_name": "my_drivers_license.pdf",
7  "metadata": {
8    "employment": {},
9    "ocr_data": {},
10    "ocr_authenticity": {},
11    "ocr_authenticity_score": null
12  },
13  "processing": {
14    "classification": "unauthorized",
15    "ocr": "unauthorized",
16    "authenticity": "unauthorized"
17  },
18  "created_at": "2024-07-08T13:43:49.864033Z",
19  "updated_at": "2024-07-08T13:43:51.868787Z"
20}

#List all documents

get/v2/user-uploads

Returns an array of all user upload objects.

Query parameters
  • #
    accountstring (uuid)
    optional
    Filter by account ID.
  • #
    userstring (uuid)
    optional
    Filter by user ID.
  • #
    document_typestring (uuid)
    optional

    Filter by document_type.

  • #
    limitinteger
    optional

    Number of user upload objects returned per page. Default: 10. Maximum: 200.

Example Request
1curl --request GET \
2     --url https://api.argyle.com/v2/user-uploads?limit=2 \
3     --header 'accept: application/json' \
4     --header 'content-type: application/json'
Example Response
1[
2  {
3    "id": "01320596-2c3d-189c-53e7-a8ce6d625b33",
4    "account": "01856c65-43b6-8b5d-b32a-56b8fbda5c28",
5    "document_type": "proof-of-identity",
6    "file_url": "www.argyle.com/storagename",
7    "file_name": "my_drivers_license.pdf",
8    "metadata": {
9      "employment": {},
10      "ocr_data": {},
11      "ocr_authenticity": {},
12      "ocr_authenticity_score": null
13    },
14    "processing": {
15      "classification": "unauthorized",
16      "ocr": "unauthorized",
17      "authenticity": "unauthorized"
18    },
19    "created_at": "2024-07-08T13:43:49.864033Z",
20    "updated_at": "2024-07-08T13:43:51.868787Z"
21  },
22  {
23    "id": "01305921-2ce3-723b-3309-14a27983e765",
24    "account": "01856c65-43b6-8b5d-b32a-56b8fbda5c28",
25    "document_type": "W-2",
26    "file_url": "www.argyle.com/storagename",
27    "file_name": "2024_W2.pdf",
28    "metadata": {
29      "employment": {},
30      "ocr_data": {},
31      "ocr_authenticity": {},
32      "ocr_authenticity_score": null
33    },
34    "processing": {
35      "classification": "unauthorized",
36      "ocr": "unauthorized",
37      "authenticity": "unauthorized"
38    },
39    "created_at": "2024-07-08T13:44:27.734038Z",
40    "updated_at": "2024-07-08T13:44:29.738182Z"
41  }
42]
Updating Argyle status...
© 2025 Argyle Systems Inc.argyle.com