# Start a file upload This endpoint creates the RebateEvidenceFile record and returns its uid as well as a presigned URL to use for direct upload to AWS S3. Endpoint: POST /rebate_evidence_files:start_upload Version: 2.0 Security: oauth2 ## Query parameters: - `user_rebate` (string) Application ID (uid) of the user_reabte ## Header parameters: - `EvEnergy-Version` (number) Specify the version of this endpoint to use. Enum: 2 - `EvEnergy-User` (string) If the client is authenticated using Client Credentials, setting EvEnergy-User to a valid user ID allows requests to be made as if you were directly authenticated as that user. Example: "user01HN2NJ9NMRZBXT1H6FT9N7735" ## Request fields (application/json): - `file_name` (string) Original file name of the incoming file, with extention. - `rebate_evidence_type` (string) Rebate evidence type url ## Response 201 fields (application/json): - `id` (string) evidence file uid - `url` (string) evidence file resource url - `presigned_url` (string) AWS S3 presigned URL. This URL is required for the client to send direct PUT or GET requests to S3 ## Response 400 fields (application/problem+json): - `type` (string) Example: "https://api.ev.energy/v2/problems/example-problem/" - `status` (number) Example: 400 - `title` (string, required) Example: "Short description" - `detail` (string, required) Example: "Long, more specific description." - `instance` (string) Example: "https://api.ev.energy/v2/users/user01HN2P75GBNFRJPCZJXEFVXH5E" - `notification` (object) Something that the user should be informed about. - `notification.id` (string, required) Unique identifier for the Notification Example: "notf67O36PLTFDB57M0E5L33JZLGM0" - `notification.url` (string, required) Example: "https://api.ev.energy/notifications/notf67O36PLTFDB57M0E5L33JZLGM0" - `notification.message_id` (string, required) Internal identifier for this notification type. E.g. 'ERR0023' - `notification.category` (any, required) Category of this notification type Enum: "ACTIONABLE", "SERVICE", "RETRY", "MARKETING", "INTERNAL" - `notification.event_time` (string, required) The timestamp of the event described by this notification - `notification.short_text_title` (string, required) Short title for the notification - `notification.short_text_body` (string, required) Short description of the event being notified - `notification.detail_page_title` (string) Title of a help page giving more information about this notification - `notification.detail_page_body` (string) Text of a help page giving more information about this notification - `notification.external_link` (string,null) URL of a web page giving further information about this notification - `notification.external_button_label` (string) Text to be displayed on a button leading to the external_link location - `notification.read_at` (string) When the user examined the contents of this notification - `notification.resolved_at` (string) When the problem associated with this notification was resolved ## Response 401 fields (application/problem+json): - `status` (number) Example: 401 - `title` (string, required) Example: "Unauthorized" - `detail` (string, required) Example: "Authentication credentials were not provided." ## Response 403 fields (application/problem+json): - `status` (number) Example: 403 - `title` (string, required) Example: "Forbidden" - `detail` (string, required) Example: "You do not have permission to perform this action." ## Response 406 fields (application/problem+json): - `status` (number) Example: 406 - `title` (string, required) Example: "Not Acceptable" - `detail` (string, required) Example: "Could not satisfy the request Accept header." ## Response 429 fields (application/problem+json): - `type` (string) Example: "https://api.ev.energy/v2/problems/example-problem/" - `status` (number) Example: 400 - `title` (string, required) Example: "Short description" - `detail` (string, required) Example: "Long, more specific description." - `instance` (string) Example: "https://api.ev.energy/v2/users/user01HN2P75GBNFRJPCZJXEFVXH5E" - `notification` (object) Something that the user should be informed about. - `notification.id` (string, required) Unique identifier for the Notification Example: "notf67O36PLTFDB57M0E5L33JZLGM0" - `notification.url` (string, required) Example: "https://api.ev.energy/notifications/notf67O36PLTFDB57M0E5L33JZLGM0" - `notification.message_id` (string, required) Internal identifier for this notification type. E.g. 'ERR0023' - `notification.category` (any, required) Category of this notification type Enum: "ACTIONABLE", "SERVICE", "RETRY", "MARKETING", "INTERNAL" - `notification.event_time` (string, required) The timestamp of the event described by this notification - `notification.short_text_title` (string, required) Short title for the notification - `notification.short_text_body` (string, required) Short description of the event being notified - `notification.detail_page_title` (string) Title of a help page giving more information about this notification - `notification.detail_page_body` (string) Text of a help page giving more information about this notification - `notification.external_link` (string,null) URL of a web page giving further information about this notification - `notification.external_button_label` (string) Text to be displayed on a button leading to the external_link location - `notification.read_at` (string) When the user examined the contents of this notification - `notification.resolved_at` (string) When the problem associated with this notification was resolved