---
title: "Post Source"
method: POST
path: "/sources"
---

# Post Source

`POST /sources`

Creates a source in the Isometric system. The client is provided with a presigned
upload URL which must be used to upload the document associated with this source.
Source documents are private, but other fields will be visible publicly once
credits are issued for an associated removal, moving it to the public registry.

## Headers

- `x-client-secret` string, required — A secret token identifying the client connecting to the API

## Request body

- CreateDocumentSourceRequest
  - `supplier_reference_id` string, required — A string that must be unique for all resources created by a specific supplier. It can be used by a client to identify the correct objects in their system.
  - `__typename` 'CreateDocumentSourceRequest', required — Contains the name of the model (formally, OpenAPI Schema Object). Used to determine the type of data, for example when two different types are unioned.
  - `display_name` string, required
  - `published_at` string, date, required — Date in ISO format (YYYY-MM-DD)
  - `description` string, nullable — A description of the source document. Must be at most 2000 characters long.
  - `is_public` boolean — If the source document should be publicly available on the Registry once credits are issued.
  - `file_name` string, required — The full name of the file that will be uploaded, including its file extension
  - `content_type` string, required — The content type of the file that will be uploaded. This must also be passed as a `Content-Type` header during the upload. The pre-signed URL will only accept a file of this content-type. See the [list of supported filetypes](/api-reference/certify/uploading-sources#supported-filetypes).
  - `content_length` integer, required — The size (in bytes) of the file that will be uploaded. The pre-signed URL will only accept a file of this size.
  - `project_id` string, required — The ID of the project that the source is associated with.

## Response `200`

Successful Response

- CreateSourceResponse
  - `source` Source, required
    - `id` string, required
    - `supplier_reference_id` string, nullable, required — A string that must be unique for all resources created by a specific supplier. It can be used by a client to identify the correct objects in their system.
    - `display_name` string, nullable, required
    - `description` string, nullable, required
    - `original_filename` string, nullable, required
    - `type` 'DOCUMENT' | 'WEBSITE', required
    - `published_at` string, date, nullable, required
    - `url_info` union, required — URL info for the source, that varies depending on if it is public or private
      - SourcePublicUrlInfo
        - `__typename` 'SourcePublicUrlInfo' — Contains the name of the model (formally, OpenAPI Schema Object). Used to determine the type of data, for example when two different types are unioned.
        - `url` string, required
      - SourcePrivateUrlInfo
        - `__typename` 'SourcePrivateUrlInfo' — Contains the name of the model (formally, OpenAPI Schema Object). Used to determine the type of data, for example when two different types are unioned.
        - `is_accessible` boolean, required — This field indicates whether or not a private source visible to the caller. If it is, to get a temporary pre-signed url that will allow the caller to view the source, make a request to the "/sources/{id}/private_url" endpoint.
    - `is_public` boolean, required — This field indicates Whether or not this source document will be public on the Registry once Credits are issued referencing it.
    - `project_id` string, nullable, required — The ID of the project that the source is associated with.
  - `signed_upload_url` string, required — A presigned upload URL, which must be used to upload the document associated with this source.

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/isometric/apis/isometric-certify-data-ingestion-api.md) · [All operations](https://skmtc.net/isometric/apis/isometric-certify-data-ingestion-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/isometric/isometric-certify-data-ingestion-api/versions/9819e9c8ccf0/schema)
