Receipt Image Picker Integration
API Contract
REST
/api/v1/receipt-picker
5 endpoints
GET
/api/v1/receipt-picker/api/v1/receipt-picker/permissions
Get current camera and gallery permission status for the device session
Public
Response Example
{
"camera_permission": "granted",
"gallery_permission": "denied",
"session_id": "sess-device-abc123"
}
POST
/api/v1/receipt-picker/api/v1/receipt-picker/permissions/camera
Request camera permission for the current device session
Public
Request Example
{
"session_id": "sess-device-abc123"
}
Response Example
{
"session_id": "sess-device-abc123",
"permission": "camera",
"status": "granted",
"granted_at": "2026-03-26T09:00:00Z"
}
POST
/api/v1/receipt-picker/api/v1/receipt-picker/permissions/gallery
Request gallery/photos permission for the current device session
Public
Request Example
{
"session_id": "sess-device-abc123"
}
Response Example
{
"session_id": "sess-device-abc123",
"permission": "gallery",
"status": "granted",
"granted_at": "2026-03-26T09:00:10Z"
}
POST
/api/v1/receipt-picker/api/v1/receipt-picker/camera
Initiate camera capture flow and return captured image token
Public
Request Example
{
"session_id": "sess-device-abc123",
"quality": "high"
}
Response Example
{
"capture_id": "cap-9901",
"session_id": "sess-device-abc123",
"image_token": "tok-img-7f3e2a",
"quality": "high",
"file_name": "receipt_capture_20260326_090012.jpg",
"file_size_kb": 1540,
"mime_type": "image/jpeg",
"captured_at": "2026-03-26T09:00:12Z"
}
POST
/api/v1/receipt-picker/api/v1/receipt-picker/gallery
Initiate gallery picker flow and return selected image token
Public
Request Example
{
"session_id": "sess-device-abc123",
"allowed_extensions": [
"jpg",
"jpeg",
"png",
"heic"
]
}
Response Example
{
"pick_id": "pick-4402",
"session_id": "sess-device-abc123",
"image_token": "tok-img-8b1c4d",
"file_name": "IMG_20260315_142233.jpg",
"file_size_kb": 2200,
"mime_type": "image/jpeg",
"picked_at": "2026-03-26T09:01:05Z"
}