# Generate Signed URL to Upload API ## Overview The Generate Signed URL to Upload API produces a signature that is used to upload an attachment. Endpoint: POST /attachment/preupload Security: oAuthUser, oAuthOnBehalfOfUser, oAuthCustomer, oAuthOnBehalfOfCustomer, oAuthAnonymousCustomer ## Header parameters: - `Accept-Language` (string, required) The Language locale accepted by the client (used for locale specific fields in resource representation and in error responses). Enum: "en-US", "es-ES", "fr-FR", "it-IT", "de-DE", "nl-NL", "pt-BR", "pt-PT", "da-DK", "ru-RU", "fr-CA", "zh-CN", "ja-JP", "ko-KR", "sv-SE" ## Request fields (application/json): - `name` (string, required) The name of the attachment. - `size` (integer, required) The size of the attachment in bytes. The maximum size is limited to 25MB. ## Response 200 fields (application/json): - `altId` (string) The ID of the attachment. Example: "f665fb41-6485-43c3-a2c8-c72857c29f74" - `name` (string) The name of the attachment. Example: "article.png" - `contentUrl` (string) The content URL to upload an attachment. Example: "https://EG5842ain.ezdev.net/knowledge/portalmgr/v4/attachmnet/upload?signature=3552656867434671616F6C51786335674B764E7848586E786B383255555A41574F6B656F542B396258677A334341322F2B32336F434D6D6E47637955714C6A6E4D527476666C534E4C6232520D0A4F6F70637259773043515A6778596949586F3247666B6E624350386336563446624C5446746C546B2F324A734E425939634758507465722B6C584435685747734C4A2B6C626342732F426E640D0A4D7965456452564A6670525069536D2B43423232384A67724F636C4161654F39336F42784942354C6776462F50724D67674A3248527253504C53457551596A7A6D4B347A4F7A63416C7047450D0A39556133495776504A4875336D77757330773D3D" ## Response 400 fields (application/json): - `code` (string, required) A string that follows the pattern {integer}-{integer}. The first {integer} is the http status code. This code as a whole is unique. * For example, error codes "400-101" and "404-101" are distinctly different. - `developerMessage` (string, required) A summary of the error. - `details` (array) - `details.key` (string, required) - `details.value` (string) - `userMessage` (string) UI friendly messages are only supported by some APIs. The client must explicitly request UI friendly messages by passing the X-egain-error-message=yes* header. ## Response 401 fields (application/json): - `code` (string, required) A string that follows the pattern {integer}-{integer}. The first {integer} is the http status code. This code as a whole is unique. * For example, error codes "400-101" and "404-101" are distinctly different. - `developerMessage` (string, required) A summary of the error. - `details` (array) - `details.key` (string, required) - `details.value` (string) - `userMessage` (string) UI friendly messages are only supported by some APIs. The client must explicitly request UI friendly messages by passing the X-egain-error-message=yes* header. ## Response 403 fields (application/json): - `code` (string, required) A string that follows the pattern {integer}-{integer}. The first {integer} is the http status code. This code as a whole is unique. * For example, error codes "400-101" and "404-101" are distinctly different. - `developerMessage` (string, required) A summary of the error. - `details` (array) - `details.key` (string, required) - `details.value` (string) - `userMessage` (string) UI friendly messages are only supported by some APIs. The client must explicitly request UI friendly messages by passing the X-egain-error-message=yes* header. ## Response 404 fields (application/json): - `code` (string, required) A string that follows the pattern {integer}-{integer}. The first {integer} is the http status code. This code as a whole is unique. * For example, error codes "400-101" and "404-101" are distinctly different. - `developerMessage` (string, required) A summary of the error. - `details` (array) - `details.key` (string, required) - `details.value` (string) - `userMessage` (string) UI friendly messages are only supported by some APIs. The client must explicitly request UI friendly messages by passing the X-egain-error-message=yes* header. ## Response 406 fields (application/json): - `code` (string, required) A string that follows the pattern {integer}-{integer}. The first {integer} is the http status code. This code as a whole is unique. * For example, error codes "400-101" and "404-101" are distinctly different. - `developerMessage` (string, required) A summary of the error. - `details` (array) - `details.key` (string, required) - `details.value` (string) - `userMessage` (string) UI friendly messages are only supported by some APIs. The client must explicitly request UI friendly messages by passing the X-egain-error-message=yes* header. ## Response 500 fields (application/json): - `code` (string, required) A string that follows the pattern {integer}-{integer}. The first {integer} is the http status code. This code as a whole is unique. * For example, error codes "400-101" and "404-101" are distinctly different. - `developerMessage` (string, required) A summary of the error. - `details` (array) - `details.key` (string, required) - `details.value` (string) - `userMessage` (string) UI friendly messages are only supported by some APIs. The client must explicitly request UI friendly messages by passing the X-egain-error-message=yes* header. ## Response 415 fields