# Create Signature [View original](https://ittybit.com/api/signatures/create) `POST /signatures` You can use signatures to create signed URLs which grant access to your project's resources, without revealing your project's API key. URLs can expire after a specified time and be limited to HTTP `GET` method for read-only access, or HTTP `PUT` method for client-side uploads. ### Request Body The request body should contain a properly formatted JSON object with a `filename` property. Other optional properties are listed below. **Schema:** ```json { "type": "object", "required": [ "filename" ], "properties": { "filename": { "type": "string" }, "folder": { "type": "string" }, "expiry": { "type": "integer", "format": "unix-epoch" }, "method": { "type": "string", "enum": [ "get", "put" ], "default": "get" } }, "example": { "filename": "video.mp4", "folder": "example", "expiry": 1735689600, "method": "put" } } ``` ### Responses #### 200 - Success **Example:** ```json { "meta": { "request_id": "req_abcdefghij1234567890", "org_id": "org_abcdefgh1234", "project_id": "prj_abcdefgh1234", "version": "2025-01-01", "type": "object" }, "data": { "domain": "you.ittybit.net", "filename": "video.mp4", "folder": "example", "expiry": 1735689600, "method": "put", "signature": "a1b2c3d4e5f6...", "url": "https://you.ittybit.net/example/video.mp4?expiry=1735689600&method=put&signature=a1b2c3d4e5f6..." }, "links": { "parent": "/signatures" } } ```