---
title: "Create Agreement: Create Upload URL"
method: POST
path: "/analyze/v1/agreements"
tags: ["Analyze Agreements"]
---

# Create Agreement: Create Upload URL

`POST /analyze/v1/agreements`

Returns an AWS S3 URL upon success for subsequent file uploads. On a successful response, execute a PUT request to the AWS S3 URL with the file.

Knowledge Base Example: https://help.linksquares.com/hc/en-us/articles/10849398433559-Analyze-API-Sample-Use-Cases#01H7AP6S3RDH2AF5SGGFX5P8DR

AWS Documentation: https://docs.aws.amazon.com/AmazonS3/latest/userguide/PresignedUrlUploadObject.html

## Request body

- object
  - `file_name` string, required
  - `name` string
  - `agreement_type` string
  - `tags` string[]
  - `terms` object[]
    - `name` string
    - `value` string
  - `approve_agreement` boolean
  - `parent_agreement_id` string

## Response `200`

successful

- object
  - `upload_id` string, required — UUID of the Upload
  - `name` string, required — The custom name of the document being uploaded
  - `type` string, required — The Agreement Type of the Upload
  - `file_name` string, required — The name of the file being uploaded
  - `status` string, required — Status of the Upload
  - `url` string, required — AWS Presigned Upload URL
  - `parent_agreement_id` string, nullable, required — UUID of the Parent Agreement
  - `tags` string[], nullable, required
  - `terms` object[], nullable, required
    - `name` string — The name of the term
    - `value` string, nullable — The value of the term

## Other responses

- `403` — inactive user
- `422` — invalid extension

---

[API](https://skmtc.net/linksquares/apis/linksquares-api.md) · [All operations](https://skmtc.net/linksquares/apis/linksquares-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/linksquares/linksquares-api/versions/4d597e83cd78/schema)
