Argyle9a25 User Uploads API
The User Uploads API from Argyle9a25 — 2 operation(s) for user uploads.
The User Uploads API from Argyle9a25 — 2 operation(s) for user uploads.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/argyle9a25:argyle9a25-user-uploads-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Argyle User Uploads API
description: Argyle OpenAPI spec
version: 1.0.111
servers:
- url: https://api-sandbox.argyle.com/v2
description: Sandbox
- url: https://api.argyle.com/v2
description: Production
security:
- basicAuth: []
tags:
- name: User Uploads
paths:
/user-uploads:
post:
summary: Upload a document
description: Upload a document via the API.
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
required:
- user
- document_type
- upload
properties:
user:
type: string
format: uuid
description: ID of the user object.
document_type:
type: string
enum:
- paystubs
- W-2
- 1099
- proof-of-identity
- proof-of-address
- miscellaneous
description: The type of document.
upload:
type: string
format: binary
description: 'Link to the document to be uploaded.
Max of 1 file per POST request.
'
responses:
'200':
$ref: '#/components/responses/UserUploadResponse'
operationId: postUserUploads
tags:
- User Uploads
get:
summary: List all user uploads
description: Returns a paginated list of all user upload objects.
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/UserId'
- $ref: '#/components/parameters/DocumentType'
- $ref: '#/components/parameters/Limit'
- in: query
name: cursor
schema:
type: string
description: The URL returned in `next` or `previous` used to retrieve another [page](/api-guide/overview#pagination) of results.
responses:
'200':
$ref: '#/components/responses/UserUploadListResponse'
operationId: getUserUploads
tags:
- User Uploads
/user-uploads/{id}:
get:
summary: Retrieve a user upload
description: Retrieves a user upload object.
parameters:
- in: path
name: id
required: true
schema:
type: string
format: uuid
description: ID of the user upload object to be retrieved.
responses:
'200':
description: A user upload object.
content:
application/json:
schema:
$ref: '#/components/schemas/UserUpload'
example:
id: 01320596-2c3d-189c-53e7-a8ce6d625b33
account: 01856c65-43b6-8b5d-b32a-56b8fbda5c28
document_type: paystubs
file_url: www.argyle.com/storagename
file_name: most_recent_paystub.pdf
metadata:
employment: {}
ocr_data: {}
ocr_documents: []
ocr_authenticity: {}
ocr_authenticity_score: null
processing:
classification: unauthorized
ocr: unauthorized
authenticity: unauthorized
created_at: '2024-07-08T13:43:49.864Z'
updated_at: '2024-07-08T13:43:51.868Z'
operationId: getUserUploadsById
tags:
- User Uploads
components:
parameters:
UserId:
name: user
in: query
description: Filter by user ID.
schema:
type: string
format: uuid
Limit:
name: limit
in: query
description: 'Number of user upload objects returned [per page](/api-guide/overview#pagination). Default: 10. Maximum: 200.
'
schema:
type: integer
AccountId:
name: account
in: query
description: Filter by account ID.
schema:
type: string
format: uuid
DocumentType:
name: document_type
in: query
description: Filter by `document_type`.
schema:
type: string
format: uuid
responses:
UserUploadResponse:
description: A user upload object.
content:
application/json:
schema:
$ref: '#/components/schemas/UserUpload'
UserUploadListResponse:
description: A paginated list of user upload objects.
content:
application/json:
schema:
type: object
properties:
next:
type:
- string
- 'null'
format: uri
description: URL for the next page of results, if available.
previous:
type:
- string
- 'null'
format: uri
description: URL for the previous page of results, if available.
results:
type: array
items:
$ref: '#/components/schemas/UserUpload'
schemas:
OcrDocument:
type: object
description: Contains OCR and authenticity results for one document detected within an uploaded file.
properties:
ocr_data:
type: object
description: 'Contains [Ocrolus OCR](/integrations/ocr/ocrolus#api) data for the detected document.
Available for paystubs, W-2s, and 1099s when Ocrolus is enabled.
'
ocr_authenticity:
type: object
description: 'Contains [Ocrolus authenticity](/integrations/ocr/ocrolus#api) data for the detected document.
Includes individual instances of tampering or other authenticity-related edits detected in the document.
Available for paystubs, W-2s, and 1099s when Ocrolus is enabled.
'
ocr_authenticity_score:
type:
- integer
- 'null'
description: '[Ocrolus authenticity score](/integrations/ocr/ocrolus#authenticity-scores) for the detected document.
Single score that captures the likelihood the detected document is authentic, as determined by Ocrolus.
Available for paystubs, W-2s, and 1099s when Ocrolus is enabled.
'
UserUpload:
type: object
example:
id: 01320596-2c3d-189c-53e7-a8ce6d625b33
account: 01856c65-43b6-8b5d-b32a-56b8fbda5c28
document_type: proof-of-identity
file_url: www.argyle.com/storagename
file_name: my_drivers_license.pdf
metadata:
employment: null
ocr_data: {}
ocr_documents: []
ocr_authenticity: {}
ocr_authenticity_score: null
processing:
classification: unauthorized
ocr: unauthorized
authenticity: unauthorized
created_at: '2024-07-08T13:43:49.864Z'
updated_at: '2024-07-08T13:43:51.868Z'
properties:
id:
type: string
format: uuid
description: Unique ID of the uploaded document.
account:
type: string
format: uuid
description: ID of the account associated with the uploaded document.
document_type:
type: string
description: 'The document [category](/workflows/document-processing#enabling-document-uploads) in Link the user selected, or the `document_type` provided when [uploading via the API](/api-reference/user-uploads#upload).
If [OCR processing](/integrations/ocr/ocrolus) is enabled, this value is overwritten when the document is found to be a different type.
Possible values:
- `paystubs`
- `W-2`
- `1099`
- `proof-of-identity`
- `proof-of-address`
- `miscellaneous`
'
file_url:
type: string
description: 'URL linking to the original uploaded document file.
This static URL redirects to a download page that requires [Argyle authentication headers](/api-guide/overview#authentication).
**Implementation requirements for client-side applications**
1. Ensure your HTTP client or library (for example, Axios or Python requests) is configured to follow redirects.
2. Append [Basic authentication headers](/api-guide/overview#authentication) for Argyle to the file download request.
'
file_name:
type: string
description: File name of the uploaded document on the user's computer or phone.
metadata:
type: object
description: Contains document OCR and authenticity information.
properties:
employment:
type: object
description: Contains document verification data.
ocr_documents:
type: array
description: Always included. Contains one OCR and authenticity result for each document detected within the uploaded file.
items:
$ref: '#/components/schemas/OcrDocument'
ocr_data:
type: object
deprecated: true
description: Deprecated. Use `ocr_documents[].ocr_data`.
ocr_authenticity:
type: object
deprecated: true
description: Deprecated. Use `ocr_documents[].ocr_authenticity`.
ocr_authenticity_score:
type:
- integer
- 'null'
deprecated: true
description: Deprecated. Use `ocr_documents[].ocr_authenticity_score`.
processing:
type: object
description: Contains OCR processing statuses.
properties:
classification:
type: string
enum:
- unauthorized
- idle
- in_progress
- completed
- failed
description: 'OCR classification processing status.
- `unauthorized`: Classification permissions are not enabled.
- `idle`: Processing has not started.
- `in_progress`: Processing is in progress.
- `completed`: Processing successfully completed.
- `failed`: Processing failed.
'
ocr:
type: string
enum:
- unauthorized
- idle
- in_progress
- completed
- failed
description: 'Full OCR processing status.
- `unauthorized`: Full OCR permissions are not enabled.
- `idle`: Processing has not started.
- `in_progress`: Processing is in progress.
- `completed`: Processing successfully completed.
- `failed`: Processing failed.
'
authenticity:
type: string
enum:
- unauthorized
- idle
- in_progress
- completed
- failed
description: 'OCR authenticity processing status.
- `unauthorized`: Full OCR permissions are not enabled.
Full OCR permissions are required for authenticity.
- `idle`: Processing has not started.
- `in_progress`: Processing is in progress.
- `completed`: Processing successfully completed.
- `failed`: Processing failed.
'
created_at:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)) when the uploaded document was submitted.
updated_at:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)) when the user upload object was last updated.
securitySchemes:
basicAuth:
type: http
scheme: basic
description: Username = api_key_id, Password = api_key_secret
x-provenance:
method: harvested
publisher: Argyle9a25
source: https://docs.argyle.com/openAPI/argyle-all.yaml
note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
stamped by stamp-openapi-provenance.py (roadmap#793)