Argyle User Uploads API

The User Uploads API from Argyle — 2 operation(s) for user uploads.

Operations 3

GET /v2/user-uploads/{id} Retrieve a user upload
POST /v2/user-uploads Upload a document
GET /v2/user-uploads List all user uploads

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/argyle-user-uploads-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API 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 Specification

argyle-user-uploads-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Argyle Accounts User Uploads API
  version: '2.0'
  description: RESTful API providing user-consented access to payroll and employment data including identities, paystubs, gigs, shifts, vehicles, ratings, payroll documents, and deposit destinations across thousands of employers and gig platforms.
  contact:
    name: Argyle Support
    url: https://docs.argyle.com/
  x-api-id: argyle
  x-audience: public
servers:
- url: https://api.argyle.com
  description: Production
- url: https://api-sandbox.argyle.com
  description: Sandbox
security:
- basicAuth: []
tags:
- name: User Uploads
paths:
  /v2/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_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'
      tags:
      - User Uploads
  /v2/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 document per POST request.

                    '
      responses:
        '200':
          $ref: '#/components/responses/UserUploadResponse'
      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'
      tags:
      - User Uploads
components:
  schemas:
    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: null
          ocr_authenticity: null
          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
              deprecated: true
              description: Contains document verification data.
            ocr_data:
              type: object
              description: 'Contains [Ocrolus OCR](/integrations/ocr/ocrolus#api) data.


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

                '
            ocr_authenticity:
              type: object
              description: 'Contains [Ocrolus authenticity](/integrations/ocr/ocrolus#api) 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_score:
              type: integer
              description: '[Ocrolus authenticity score](/integrations/ocr/ocrolus#authenticity-scores).


                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.

                '
        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