Isometric Sources API

The Sources API from Isometric — 4 operation(s) for sources.

Operations 7

GET /sources Get Sources #
POST /sources Post Source #
DELETE /sources/{id} Delete Source #
GET /sources/{id} Get Source #
PATCH /sources/{id} Patch Source #
GET /sources/{id}/private_url Get Source Private Url #
POST /sources/{id}/signed_upload_url Post Signed Upload Url #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/isometric-sources-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

isometric-sources-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: '# Standards


    ## Versioning


    This API will be safely versioned using root path versioning, in the format `/v{major}`.'
  title: Isometric Certify Data Ingestion Sources API
  version: v0
servers:
- description: Sandbox Isometric MRV API
  url: https://api.sandbox.isometric.com/mrv/v0
- description: Production Isometric MRV API
  url: https://api.isometric.com/mrv/v0
tags:
- name: Sources
paths:
  /sources:
    get:
      description: Lists sources in the Isometric system
      operationId: get_sources_sources_get
      parameters:
      - in: query
        name: supplier_reference_id
        required: false
        schema:
          anyOf:
          - description: 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.
            maxLength: 100
            minLength: 1
            type: string
          - type: 'null'
          title: Supplier Reference Id
      - in: query
        name: project_id
        required: false
        schema:
          anyOf:
          - $ref: '#/components/schemas/IsometricIDQueryParam_Project_'
          - type: 'null'
          title: Project Id
      - in: query
        name: last
        required: false
        schema:
          default: 10
          description: An integer number of items to retrieve before the item represented by the cursor passed in the before parameter. Defaults to 10 with a maximum value of 50.
          exclusiveMinimum: 0
          maximum: 50
          title: Last
          type: integer
      - in: query
        name: before
        required: false
        schema:
          anyOf:
          - minLength: 1
            type: string
          - type: 'null'
          description: An opaque cursor representing the first item in the previously requested page to select items ordered before it. Submit the previously requested page’s start_cursor here when paginated backwards.
          title: Before
      - in: query
        name: first
        required: false
        schema:
          default: 10
          description: An integer number of items to retrieve after the item represented by the cursor passed in the after parameter. Defaults to 10 with a maximum value of 50.
          exclusiveMinimum: 0
          maximum: 50
          title: First
          type: integer
      - in: query
        name: after
        required: false
        schema:
          anyOf:
          - minLength: 1
            type: string
          - type: 'null'
          description: An opaque cursor representing the last item in the previously requested page to select items ordered after it. Submit the previously requested page’s end_cursor here when paginated forwards.
          title: After
      - description: A secret token identifying the client connecting to the API
        in: header
        name: x-client-secret
        required: true
        schema:
          description: A secret token identifying the client connecting to the API
          examples:
          - Syou3EZiO5vuMEgNyBeA8cjEMYOnQDwP
          title: Client secret
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedListResource_Source_'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Sources
      tags:
      - Sources
    post:
      description: '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.'
      operationId: post_source_sources_post
      parameters:
      - description: A secret token identifying the client connecting to the API
        in: header
        name: x-client-secret
        required: true
        schema:
          description: A secret token identifying the client connecting to the API
          examples:
          - Syou3EZiO5vuMEgNyBeA8cjEMYOnQDwP
          title: Client secret
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateDocumentSourceRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateSourceResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Post Source
      tags:
      - Sources
  /sources/{id}:
    delete:
      description: Deletes a source in the Isometric system. This is irreversible and the source cannot be recovered.
      operationId: delete_source_sources__id__delete
      parameters:
      - in: path
        name: id
        required: true
        schema:
          $ref: '#/components/schemas/IsometricIDPathParam_Source_'
      - description: A secret token identifying the client connecting to the API
        in: header
        name: x-client-secret
        required: true
        schema:
          description: A secret token identifying the client connecting to the API
          examples:
          - Syou3EZiO5vuMEgNyBeA8cjEMYOnQDwP
          title: Client secret
          type: string
      responses:
        '204':
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Source
      tags:
      - Sources
    get:
      description: Get single source
      operationId: get_source_sources__id__get
      parameters:
      - in: path
        name: id
        required: true
        schema:
          $ref: '#/components/schemas/IsometricIDPathParam_Source_'
      - description: A secret token identifying the client connecting to the API
        in: header
        name: x-client-secret
        required: true
        schema:
          description: A secret token identifying the client connecting to the API
          examples:
          - Syou3EZiO5vuMEgNyBeA8cjEMYOnQDwP
          title: Client secret
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Source'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Source
      tags:
      - Sources
    patch:
      description: Patches metadata associated with a source in the Isometric system.
      operationId: patch_source_sources__id__patch
      parameters:
      - in: path
        name: id
        required: true
        schema:
          $ref: '#/components/schemas/IsometricIDPathParam_Source_'
      - description: A secret token identifying the client connecting to the API
        in: header
        name: x-client-secret
        required: true
        schema:
          description: A secret token identifying the client connecting to the API
          examples:
          - Syou3EZiO5vuMEgNyBeA8cjEMYOnQDwP
          title: Client secret
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchSourceRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Source'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Patch Source
      tags:
      - Sources
  /sources/{id}/private_url:
    get:
      description: 'Returns a short-lived signed URL to download a source document from. This query will fail if

        the source does not have a private URL or if the authenticated user does not have

        access to it. That''s why you need to first check the `urlInfo` field on the source

        object, to ensure that you can safely use this query.'
      operationId: get_source_private_url_sources__id__private_url_get
      parameters:
      - in: path
        name: id
        required: true
        schema:
          $ref: '#/components/schemas/IsometricIDPathParam_Source_'
      - description: A secret token identifying the client connecting to the API
        in: header
        name: x-client-secret
        required: true
        schema:
          description: A secret token identifying the client connecting to the API
          examples:
          - Syou3EZiO5vuMEgNyBeA8cjEMYOnQDwP
          title: Client secret
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                title: Response Get Source Private Url Sources  Id  Private Url Get
                type: string
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Source Private Url
      tags:
      - Sources
  /sources/{id}/signed_upload_url:
    post:
      description: 'Recreates a presigned upload URL, which must be used to upload the documentation

        associated with this source. If the document is already uploaded, this endpoint will

        response with a 409 error.'
      operationId: post_signed_upload_url_sources__id__signed_upload_url_post
      parameters:
      - in: path
        name: id
        required: true
        schema:
          $ref: '#/components/schemas/IsometricIDPathParam_Source_'
      - description: A secret token identifying the client connecting to the API
        in: header
        name: x-client-secret
        required: true
        schema:
          description: A secret token identifying the client connecting to the API
          examples:
          - Syou3EZiO5vuMEgNyBeA8cjEMYOnQDwP
          title: Client secret
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SignedUploadUrlRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                title: Response Post Signed Upload Url Sources  Id  Signed Upload Url Post
                type: string
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Post Signed Upload Url
      tags:
      - Sources
components:
  schemas:
    IsometricIDPathParam_Source_:
      $ref: '#/components/schemas/IsometricIDRequestParam_Source_'
    SignedUploadUrlRequest:
      properties:
        content_length:
          description: The size (in bytes) of the file that will be uploaded. The pre-signed URL will only accept a file of this size.
          maximum: 50000000.0
          title: Content Length
          type: integer
        content_type:
          description: 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.
          title: Content Type
          type: string
      required:
      - content_type
      - content_length
      title: SignedUploadUrlRequest
      type: object
    CreateDocumentSourceRequest:
      properties:
        __typename:
          const: CreateDocumentSourceRequest
          description: 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.
          title: Type name
          type: string
        content_length:
          description: The size (in bytes) of the file that will be uploaded. The pre-signed URL will only accept a file of this size.
          maximum: 50000000.0
          title: Content Length
          type: integer
        content_type:
          description: 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).
          title: Content Type
          type: string
        display_name:
          maxLength: 100
          minLength: 1
          title: Display Name
          type: string
        file_name:
          description: The full name of the file that will be uploaded, including its file extension
          title: File Name
          type: string
        is_public:
          default: false
          description: If the source document should be publicly available on the Registry once credits are issued.
          title: Is Public
          type: boolean
        project_id:
          description: The ID of the project that the source is associated with.
          example: prj_1CTWZQGKE1S0VAXA
          examples:
          - prj_1CTWZQGKE1S0VAXA
          - prj_1E0QTWB22SBX34D1
          maxLength: 37
          minLength: 20
          title: Project Id
          type: string
        published_at:
          description: Date in ISO format (YYYY-MM-DD)
          format: date
          title: Published At
          type: string
        supplier_reference_id:
          description: 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.
          maxLength: 100
          minLength: 1
          title: Supplier Reference Id
          type: string
      required:
      - supplier_reference_id
      - __typename
      - display_name
      - published_at
      - file_name
      - content_type
      - content_length
      - project_id
      title: CreateDocumentSourceRequest
      type: object
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          title: Detail
          type: array
      title: HTTPValidationError
      type: object
    SourcePrivateUrlInfo:
      properties:
        __typename:
          const: SourcePrivateUrlInfo
          default: SourcePrivateUrlInfo
          description: 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.
          title: Type name
          type: string
        is_accessible:
          description: 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.
          title: Is Accessible
          type: boolean
      required:
      - is_accessible
      title: SourcePrivateUrlInfo
      type: object
    Undefined:
      additionalProperties: false
      description: An explicit representation of an undefined value in the Isometric REST API. Used, for example, to distinguish between explicit null inputs that clear a property, and not provided inputs which leave the property as is.
      properties:
        __typename:
          const: Undefined
          default: Undefined
          description: 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.
          title: Type name
          type: string
      title: Undefined
      type: object
    Source:
      properties:
        display_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Display Name
        id:
          example: src_1EBBF4M7X1S06G1Y
          examples:
          - src_1EBBF4M7X1S06G1Y
          - src_1DW1B17VNSBX37N0
          maxLength: 37
          minLength: 20
          title: Id
          type: string
        is_public:
          description: This field indicates Whether or not this source document will be public on the Registry once Credits are issued referencing it.
          title: Is Public
          type: boolean
        original_filename:
          anyOf:
          - type: string
          - type: 'null'
          title: Original Filename
        project_id:
          anyOf:
          - example: prj_1CTWZQGKE1S0VAXA
            examples:
            - prj_1CTWZQGKE1S0VAXA
            - prj_1E0QTWB22SBX34D1
            maxLength: 37
            minLength: 20
            type: string
          - type: 'null'
          description: The ID of the project that the source is associated with.
          title: Project Id
        published_at:
          anyOf:
          - format: date
            type: string
          - type: 'null'
          title: Published At
        supplier_reference_id:
          anyOf:
          - description: 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.
            maxLength: 100
            minLength: 1
            type: string
          - type: 'null'
          title: Supplier Reference Id
        type:
          $ref: '#/components/schemas/SourceType'
        url_info:
          anyOf:
          - discriminator:
              mapping:
                SourcePrivateUrlInfo: '#/components/schemas/SourcePrivateUrlInfo'
                SourcePublicUrlInfo: '#/components/schemas/SourcePublicUrlInfo'
              propertyName: __typename
            oneOf:
            - $ref: '#/components/schemas/SourcePublicUrlInfo'
            - $ref: '#/components/schemas/SourcePrivateUrlInfo'
          - type: 'null'
          description: URL info for the source, that varies depending on if it is public or private
          title: Url Info
      required:
      - id
      - supplier_reference_id
      - display_name
      - original_filename
      - type
      - published_at
      - url_info
      - is_public
      - project_id
      title: Source
      type: object
    SourcePublicUrlInfo:
      properties:
        __typename:
          const: SourcePublicUrlInfo
          default: SourcePublicUrlInfo
          description: 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.
          title: Type name
          type: string
        url:
          title: Url
          type: string
      required:
      - url
      title: SourcePublicUrlInfo
      type: object
    CreateSourceResponse:
      properties:
        signed_upload_url:
          description: A presigned upload URL, which must be used to upload the document associated with this source.
          title: Signed Upload Url
          type: string
        source:
          $ref: '#/components/schemas/Source'
      required:
      - source
      - signed_upload_url
      title: CreateSourceResponse
      type: object
    ValidationError:
      properties:
        ctx:
          title: Context
          type: object
        input:
          title: Input
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          title: Location
          type: array
        msg:
          title: Message
          type: string
        type:
          title: Error Type
          type: string
      required:
      - loc
      - msg
      - type
      title: ValidationError
      type: object
    IsometricIDRequestParam_Project_:
      example: prj_1CTWZQGKE1S0VAXA
      examples:
      - prj_1CTWZQGKE1S0VAXA
      - prj_1E0QTWB22SBX34D1
      maxLength: 37
      minLength: 20
      type: string
    SourceType:
      enum:
      - DOCUMENT
      - WEBSITE
      title: SourceType
      type: string
    PageInfo:
      properties:
        end_cursor:
          anyOf:
          - type: string
          - type: 'null'
          title: End Cursor
        has_next_page:
          title: Has Next Page
          type: boolean
        has_previous_page:
          title: Has Previous Page
          type: boolean
        start_cursor:
          anyOf:
          - type: string
          - type: 'null'
          title: Start Cursor
      required:
      - has_previous_page
      - start_cursor
      - has_next_page
      - end_cursor
      title: PageInfo
      type: object
    PaginatedListResource_Source_:
      properties:
        nodes:
          items:
            $ref: '#/components/schemas/Source'
          title: Nodes
          type: array
        page_info:
          $ref: '#/components/schemas/PageInfo'
        total_count:
          title: Total Count
          type: integer
      required:
      - nodes
      - total_count
      - page_info
      title: PaginatedListResource[Source]
      type: object
    IsometricIDRequestParam_Source_:
      example: src_1EBBF4M7X1S06G1Y
      examples:
      - src_1EBBF4M7X1S06G1Y
      - src_1DW1B17VNSBX37N0
      maxLength: 37
      minLength: 20
      type: string
    IsometricIDQueryParam_Project_:
      $ref: '#/components/schemas/IsometricIDRequestParam_Project_'
    PatchSourceRequest:
      properties:
        display_name:
          anyOf:
          - maxLength: 100
            minLength: 1
            type: string
          - $ref: '#/components/schemas/Undefined'
          default:
            __typename: Undefined
          title: Display Name
        is_public:
          anyOf:
          - type: boolean
          - $ref: '#/components/schemas/Undefined'
          default:
            __typename: Undefined
          description: If the source document should be publicly available on the Registry once credits are issued.
          title: Is Public
        published_at:
          anyOf:
          - description: Date in ISO format (YYYY-MM-DD)
            format: date
            type: string
          - $ref: '#/components/schemas/Undefined'
          default:
            __typename: Undefined
          title: Published At
        supplier_reference_id:
          anyOf:
          - description: 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.
            maxLength: 100
            minLength: 1
            type: string
          - $ref: '#/components/schemas/Undefined'
          default:
            __typename: Undefined
          title: Supplier Reference Id
      title: PatchSourceRequest
      type: object
  securitySchemes:
    HTTPBearer:
      bearerFormat: JWT
      description: 'A JWT Bearer token header for authentication and authorization, in the format `Authorization: Bearer <token>`'
      scheme: bearer
      type: http