Create a file ​
To upload a file to Stripe, you need to send a request of type multipart/form-data. Include the file you want to upload in the request, and the parameters for creating a file.
All of Stripe’s officially supported Client libraries support sending multipart/form-data.
Returns ​
Returns the file object.
Parameters ​
file(object, required) A file to upload. Make sure that the specifications follow RFC 2388, which defines file transfers for themultipart/form-dataprotocol.purpose(enum, required) The purpose of the uploaded file. Possible enum values:account_requirementAdditional documentation requirements that can be requested for an account.additional_verificationAdditional verification for custom accounts.business_iconA business icon.business_logoA business logo.customer_signatureCustomer signature image.dispute_evidenceEvidence to submit with a dispute response.identity_documentA document to verify the identity of an account owner during account provisioning.issuing_regulatory_reportingAdditional regulatory reporting requirements for Issuing.pci_documentA self-assessment PCI questionnaire.platform_terms_of_serviceA copy of the platform’s Terms of Service.tax_document_user_uploadA user-uploaded tax document.terminal_android_apkAndroid POS apps to be deployed on Stripe smart readers.terminal_reader_splashscreenSplashscreen to be displayed on Terminal readers.terminal_wifi_certificateCertificate used for Enterprise WiFi on Terminal readers.terminal_wifi_private_keyPrivate key used for Enterprise WiFi on Terminal readers.
file_link_data(object, optional) Optional parameters that automatically create a file link for the newly created file.file_link_data.create(boolean, required) Set this totrueto create a file link for the newly created file. Creating a link is only possible when the file’spurposeis one of the following:business_icon,business_logo,customer_signature,dispute_evidence,issuing_regulatory_reporting,pci_document,tax_document_user_upload,terminal_android_apk, orterminal_reader_splashscreen.file_link_data.expires_at(timestamp, optional) The link isn’t available after this future timestamp.file_link_data.metadata(object, optional) Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value tometadata.
curl
curl https://files.stripe.com/v1/files \
-u <<YOUR_SECRET_KEY>> \
-F purpose=dispute_evidence \
-F file="@/path/to/a/file.jpg"Response ​
json
{
"id": "file_1Mr4LDLkdIwHu7ixFCz0dZiH",
"object": "file",
"created": 1680116847,
"expires_at": 1703444847,
"filename": "file.png",
"links": {
"object": "list",
"data": [],
"has_more": false,
"url": "/v1/file_links?file=file_1Mr4LDLkdIwHu7ixFCz0dZiH"
},
"purpose": "dispute_evidence",
"size": 8429,
"title": null,
"type": "png",
"url": "https://files.stripe.com/v1/files/file_1Mr4LDLkdIwHu7ixFCz0dZiH/contents"
}