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

# Pull

> Pull from an external link into a destination location.

Pulls from a link to a destination path. Byteport fetches the file server-side
— you do not need to download it locally first.

### Body parameters

<ParamField body="from" type="string | string[]" required>
  URL to pull from.
</ParamField>

<ParamField body="to" type="string" required>
  Destination location path. Must be a valid location and file name.
</ParamField>

### Example

<RequestExample>
  ```bash cURL theme={null}
  curl -X POST https://api.byteport.com/pull \
    -H "Authorization: Bearer bp_xxxxxxxxx" \
    -H "User-Agent: my-app/1.0" \
    -H "Content-Type: application/json" \
    -d '{
      "from": "https://example.com/report.pdf",
      "to":   "Production Bucket/reports/report.pdf"
    }'
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "id": "trf_01HZ...",
    "status": "queued"
  }
  ```
</ResponseExample>


## OpenAPI

````yaml POST /pull
openapi: 3.1.0
info:
  title: Byteport API
  description: >-
    The Byteport API lets you move, share, and manage files across every storage
    location connected to your workspace through a single HTTP interface.
  version: 1.0.0
servers:
  - url: https://api.byteport.com
security:
  - bearerAuth: []
paths:
  /pull:
    post:
      summary: Pull
      description: Pull from an external URL into a destination location.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - from
                - to
              properties:
                from:
                  description: URL to pull from.
                  oneOf:
                    - type: string
                      format: uri
                    - type: array
                      items:
                        type: string
                        format: uri
                to:
                  type: string
                  description: >-
                    Destination location path. Must be a valid location and file
                    name.
      responses:
        '200':
          description: Pull accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransferResponse'
        '400':
          $ref: '#/components/responses/Error'
components:
  schemas:
    TransferResponse:
      type: object
      properties:
        id:
          type: string
          description: Identifier for the transfer.
        status:
          type: string
          enum:
            - queued
            - running
            - complete
    Error:
      type: object
      required:
        - error
        - message
      properties:
        error:
          type: integer
        message:
          type: string
  responses:
    Error:
      description: Unexpected error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````