Skip to main content
POST
/
expense-report
/
receipt
cURL
curl --request POST \
  --url https://api.slash.com/expense-report/receipt \
  --header 'Content-Type: multipart/form-data' \
  --header 'X-API-Key: <api-key>' \
  --form file='@example-file'
{
  "documentId": "<string>",
  "url": "<string>",
  "expiresAt": "2023-11-07T05:31:56Z",
  "parsedReceipt": {
    "amount": {
      "valueCents": 123,
      "currency": "<string>",
      "rawText": "<string>"
    },
    "date": {
      "value": "2023-12-25",
      "rawText": "<string>"
    },
    "merchant": {
      "name": "<string>",
      "merchantV2Id": "<string>",
      "merchantV2": {
        "id": "<string>",
        "name": "<string>",
        "isLive": true,
        "isInstantCashback": true,
        "metadata": {
          "timestamp": "2023-11-07T05:31:56Z"
        },
        "heronId": "<string>",
        "iconUrl": "<string>",
        "logoUrl": "<string>",
        "url": "<string>",
        "merchantCategoryId": "<string>"
      },
      "rawText": "<string>"
    }
  }
}

Authorizations

X-API-Key
string
header
required

API key authentication for public API requests.

Keys come in two flavors:

  • Legal-entity-scoped keys are pinned to a single legal entity. Minted via the dashboard under a specific entity; every request acts on that entity.
  • User-scoped keys are pinned to a user and span every legal entity that user has access to. Every request made with a user-scoped key (except GET /legal-entity, which lists the legal entities the user can access) must include an x-legal-entity header naming the legal entity the request is operating on. Requests without the header are rejected with 400. The authenticated user must have an active permission role on the supplied legal entity, otherwise the request is rejected with 403.

Query Parameters

The legal entity ID. Required if authenticating with access to multiple legal entities.

Body

multipart/form-data
file
file

The receipt image file to upload.

Response

OK

documentId
string
required

The document ID of the uploaded receipt. Use this in POST /expense-report to attach the receipt.

url
string
required

A presigned URL to access the uploaded receipt.

expiresAt
string<date-time>
required

When the presigned URL expires.

parsedReceipt
ParsedReceipt · object
required

AI-extracted data from a receipt image or PDF