> ## Documentation Index
> Fetch the complete documentation index at: https://developers.telnyx.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Presigned Object URL

> Returns a timed and authenticated URL to download (GET) or upload (PUT) an object. This is the equivalent to AWS S3’s “presigned” URL. Please note that Telnyx performs authentication differently from AWS S3 and you MUST NOT use the presign method of AWS s3api CLI or SDK to generate the presigned URL. 

Refer to: https://developers.telnyx.com/docs/cloud-storage/presigned-urls




## OpenAPI

````yaml https://telnyx-openapi-ng.s3.us-east-1.amazonaws.com/storage-data.yml post /storage/buckets/{bucketName}/{objectName}/presigned_url
openapi: 3.1.0
info:
  title: Telnyx Storage & Data API
  version: 2.0.0
  description: API for Storage & Data.
  contact:
    email: support@telnyx.com
servers:
  - url: https://api.telnyx.com/v2
security:
  - bearerAuth: []
paths:
  /storage/buckets/{bucketName}/{objectName}/presigned_url:
    post:
      tags:
        - Presigned Object URLs
      summary: Create Presigned Object URL
      description: >
        Returns a timed and authenticated URL to download (GET) or upload (PUT)
        an object. This is the equivalent to AWS S3’s “presigned” URL. Please
        note that Telnyx performs authentication differently from AWS S3 and you
        MUST NOT use the presign method of AWS s3api CLI or SDK to generate the
        presigned URL. 


        Refer to:
        https://developers.telnyx.com/docs/cloud-storage/presigned-urls
      operationId: CreatePresignedObjectUrl
      parameters:
        - name: bucketName
          in: path
          description: The name of the bucket
          required: true
          example: ''
          schema:
            type: string
        - name: objectName
          in: path
          description: The name of the object
          required: true
          example: ''
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PresignedObjectUrlParams'
      responses:
        '200':
          description: Presigned URL Object Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PresignedObjectUrl'
          headers: {}
        '401':
          description: Unauthorized
        '404':
          description: Bucket or object not found
        '422':
          description: Unprocessable Entity
      deprecated: false
      x-codeSamples:
        - lang: JavaScript
          source: >-
            import Telnyx from 'telnyx';


            const client = new Telnyx({
              apiKey: process.env['TELNYX_API_KEY'], // This is the default and can be omitted
            });


            const response = await client.storage.buckets.createPresignedURL('',
            { bucketName: '' });


            console.log(response.content);
        - lang: Python
          source: |-
            import os
            from telnyx import Telnyx

            client = Telnyx(
                api_key=os.environ.get("TELNYX_API_KEY"),  # This is the default and can be omitted
            )
            response = client.storage.buckets.create_presigned_url(
                object_name="",
                bucket_name="",
            )
            print(response.content)
        - lang: Go
          source: "package main\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\n\t\"github.com/team-telnyx/telnyx-go\"\n\t\"github.com/team-telnyx/telnyx-go/option\"\n)\n\nfunc main() {\n\tclient := telnyx.NewClient(\n\t\toption.WithAPIKey(\"My API Key\"),\n\t)\n\tresponse, err := client.Storage.Buckets.NewPresignedURL(\n\t\tcontext.TODO(),\n\t\t\"\",\n\t\ttelnyx.StorageBucketNewPresignedURLParams{\n\t\t\tBucketName: \"\",\n\t\t},\n\t)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\tfmt.Printf(\"%+v\\n\", response.Content)\n}\n"
        - lang: Java
          source: >-
            package com.telnyx.sdk.example;


            import com.telnyx.sdk.client.TelnyxClient;

            import com.telnyx.sdk.client.okhttp.TelnyxOkHttpClient;

            import
            com.telnyx.sdk.models.storage.buckets.BucketCreatePresignedUrlParams;

            import
            com.telnyx.sdk.models.storage.buckets.BucketCreatePresignedUrlResponse;


            public final class Main {
                private Main() {}

                public static void main(String[] args) {
                    TelnyxClient client = TelnyxOkHttpClient.fromEnv();

                    BucketCreatePresignedUrlParams params = BucketCreatePresignedUrlParams.builder()
                        .bucketName("")
                        .objectName("")
                        .build();
                    BucketCreatePresignedUrlResponse response = client.storage().buckets().createPresignedUrl(params);
                }
            }
        - lang: Ruby
          source: >-
            require "telnyx"


            telnyx = Telnyx::Client.new(api_key: "My API Key")


            response = telnyx.storage.buckets.create_presigned_url("",
            bucket_name: "")


            puts(response)
        - lang: CLI
          source: |-
            telnyx storage:buckets create-presigned-url \
              --api-key 'My API Key' \
              --bucket-name '' \
              --object-name ''
components:
  schemas:
    PresignedObjectUrlParams:
      type: object
      properties:
        ttl:
          type: integer
          description: The time to live of the token in seconds
          minimum: 1
          maximum: 604800
          example: 60
    PresignedObjectUrl:
      type: object
      properties:
        content:
          type: object
          properties:
            token:
              type: string
              description: The token for the object
            presigned_url:
              type: string
              description: The presigned URL for the object
            expires_at:
              type: string
              description: The expiration time of the token
              format: date-time
  securitySchemes:
    bearerAuth:
      scheme: bearer
      type: http

````