SkySlope Files API

The Files API from SkySlope — 14 operation(s) for files.

Operations 19

POST /files Create Listing or Transaction File
GET /files Get Files
PATCH /files/{fileId} Update File Details
PUT /files/{fileId} Update File
GET /files/{fileId} Get File
POST /files/{fileId}/contacts Add Contact to File
PUT /files/contacts/{contactId} Update Contact in File.
POST /files/{fileId}/contacts/bulk Add Contacts to File
DELETE /files/{fileId}/contacts/{contactId} Delete Contact from File.
GET /files/{fileId}/documents Get File Documents
PATCH /files/{fileId}/documents Add Documents to File
GET /documents/signed/{fileId} Get Signed Documents
POST /documents/sign/subscribe/{fileId} Subscribe To Signed Documents Webhook
GET /files/{fileId}/envelopes Get Envelopes in File
POST /files/{fileId}/envelopes Create Envelope in File
POST /files/{fileId}/templates Apply Template to File
GET /files/{fileId}/documents/download/pdf Download File Documents as PDF
GET /files/{fileId}/documents/download Download File Documents
POST /files/{fileId}/documents/upload Upload Document to File

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/skyslope-files-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

skyslope-files-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  x-logo:
    url: https://s3.amazonaws.com/cdn.skyslope.com/forms/forms-logo-w-top-padding.png
    href: https://skyslope.com/
    altText: SkySlope
  title: SkySlope Partnership API Reference Files API
  version: 1.0.0
  description: "# Introduction\n  The SkySlope Forms API is organized around [REST](https://en.wikipedia.org/wiki/Representational_state_transfer).\n  Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses,\n  and uses standard HTTP response codes, authentication, and verbs.<br/><br/>\n  NOTE: Endpoints marked with an asterisk (*) will be available to our partners in the near future.\n  # Authentication\n  This API uses [OAuth 2.0 authorization code flow](https://www.oauth.com/oauth2-servers/server-side-apps/authorization-code/)\n  to obtain an access token that can be used to authenticate subsequent API requests.\n  ## Access Tokens\n  ### Request\n  To obtain an access token, first redirect the user to the authorization endpoint:\n  ```\n  https://accounts.skyslope.com/oauth2/authorize?\n    response_type=code\n    &client_id={YOUR_CLIENT_ID}\n    &redirect_uri={YOUR_REDIRECT_URI}\n    &scope=forms.files\n    &state={RANDOM_STATE_VALUE}\n    &code_challenge={CODE_CHALLENGE}\n    &code_challenge_method=S256\n  ```\n  After the user authorizes your application, they'll be redirected back to your redirect URI with an authorization code.\n  Exchange this code for an access token by making a POST request to the token endpoint:\n  ```\n  POST /oauth2/token HTTP/1.1\n  Host: accounts.skyslope.com\n  Content-Type: application/x-www-form-urlencoded\n  \n  grant_type=authorization_code\n  &client_id={YOUR_CLIENT_ID}\n  &client_secret={YOUR_CLIENT_SECRET}\n  &code={AUTHORIZATION_CODE}\n  &redirect_uri={YOUR_REDIRECT_URI}\n  &code_verifier={CODE_VERIFIER}\n  ```\n  ### Usage\n  Authentication to the API is performed by including your access token in the **Authorization** header of your\n  API requests with the Bearer authentication scheme:\n  ```\n  GET /partner/api/files HTTP/1.1\n  Host: forms.skyslope.com\n  Authorization: Bearer {YOUR_ACCESS_TOKEN}\n  ```\n  All API requests must be made over [HTTPS](https://en.wikipedia.org/wiki/HTTPS). Calls made over plain HTTP will fail.\n  API requests without authentication will also fail.\n  ## Refresh Tokens\n  Refresh tokens allow you to obtain new access tokens without requiring the user to re-authenticate. When you first\n  complete the OAuth flow, you'll receive both an access token and a refresh token.\n  ### Request\n  To receive a refresh token, include the `offline_access` scope in your initial authorization request:\n  ```\n  https://accounts.skyslope.com/oauth2/authorize?\n    response_type=code\n    &client_id={YOUR_CLIENT_ID}\n    &scope=forms.files offline_access\n    &redirect_uri={YOUR_REDIRECT_URI}\n  ```\n  ### Usage\n  When your access token expires, make a POST request to the token endpoint:\n  ```\n  POST /oauth2/token HTTP/1.1\n  Host: accounts.skyslope.com\n  Content-Type: application/x-www-form-urlencoded\n  \n  grant_type=refresh_token\n  &client_id={YOUR_CLIENT_ID}\n  &client_secret={YOUR_CLIENT_SECRET}\n  &refresh_token={YOUR_REFRESH_TOKEN}\n  ```\n  This will return a new access token and refresh token pair.\n  ### Security Best Practices\n  - Store refresh tokens securely on your backend server, never on client side\n  - Encrypt refresh tokens at rest using strong encryption\n  - Rotate refresh token on each use\n  - Set up monitoring for unusual refresh token usage patterns\n  - If a refresh token is compromised, revoke it immediately using the token revocation endpoint\n  - Implement automatic cleanup of unused refresh tokens"
  termsOfService: https://skyslope.com/terms-conditions/
  contact:
    name: Support
    url: https://support.skyslope.com/hc/en-us
    email: support@skyslope.com
servers:
- url: https://forms.skyslope.com/partner/api
  description: Production server
- url: https://staging-forms.skyslope.com/partner/api
  description: Staging server
- url: https://integ-forms.skyslope.com/partner/api
  description: Integration server
tags:
- name: Files
paths:
  /files:
    post:
      summary: Create Listing or Transaction File
      tags:
      - Files
      description: 'Creates a listing or a transaction file and returns the file id.<div style="color: rgba(38, 50, 56, 0.5); border-bottom: 1px solid rgba(38, 50, 56, 0.3); padding-bottom: 1px;">REQUIRED SCOPES:</div><div style="display: inline-flex; gap: 5px; padding: 5px;"><div style="border-radius: 2px; border: 1px solid rgba(128,128,255,0.5); background-color: rgba(64,64,255,0.25); padding: 0px 5px;">forms.files</div></div>'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              properties:
                name:
                  type: string
                  description: The name of the file.
                representationType:
                  type: string
                  enum:
                  - Buyer
                  - Seller
                  - Tenant
                  - Landlord
                  description: The representation type of the file.
                property:
                  type: object
                  description: The property that the file is associated with.
                  additionalProperties: false
                  properties:
                    streetNumber:
                      type: string
                      description: The street number of the property.
                    streetName:
                      type: string
                      description: The street name of the property.
                    unitNumber:
                      type: string
                      description: The unit number of the property.
                    city:
                      type: string
                      description: The city of the property.
                    state:
                      type: string
                      description: The abbreviation for the state/province of the property.
                      minLength: 2
                      maxLength: 2
                    postalCode:
                      type: string
                      description: The postal code of the property.
                    county:
                      type: string
                      description: The county of the property.
                  required:
                  - streetNumber
                  - streetName
                  - city
                  - state
                  - postalCode
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  fileId:
                    type: number
                    description: The id of the file that was created.
              example:
                fileId: 477309
        default:
          description: An object containing the error that occurred.
          content:
            application/json:
              schema:
                type: object
                description: An object containing the error that occurred.
                properties:
                  code:
                    type: string
                    description: A code that represents the error that occurred.
                  message:
                    type: string
                    description: A description of the error that occurred.
                  errors:
                    type: array
                    description: An array of the errors that occurred.
                    items:
                      type: string
                  traceId:
                    type: string
                    description: A request correlation ID.
    get:
      summary: Get Files
      tags:
      - Files
      description: 'Retrieve the files that the user has access to.<div style="color: rgba(38, 50, 56, 0.5); border-bottom: 1px solid rgba(38, 50, 56, 0.3); padding-bottom: 1px;">REQUIRED SCOPES:</div><div style="display: inline-flex; gap: 5px; padding: 5px;"><div style="border-radius: 2px; border: 1px solid rgba(128,128,255,0.5); background-color: rgba(64,64,255,0.25); padding: 0px 5px;">forms.files</div><div style="border-radius: 2px; border: 1px solid rgba(128,128,255,0.5); background-color: rgba(64,64,255,0.25); padding: 0px 5px;">forms.files.read</div></div>'
      parameters:
      - schema:
          type: integer
          minimum: 1
          default: 1
        in: query
        name: page
        required: false
        description: The page number to retrieve.
      - schema:
          type: integer
          minimum: 1
          maximum: 500
          default: 10
        in: query
        name: pageSize
        required: false
        description: The number of files returned per page.
      - schema:
          type: string
        in: query
        name: filters
        required: false
        description: 'A comma separated sieve filter to that will be applied to the results. Ex: filters=representationtype==Buyer,(createddate)>=2024-01-01,(createddate)<=2024-01-31'
      - schema:
          type: string
        in: query
        name: sorts
        required: false
        description: A sieve list of sort fields to sort the results by.
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  totalRecords:
                    type: number
                    description: The total number of files found for the authenticated user.
                  files:
                    type: array
                    description: An array containing the files found for the authenticated user.
                    items:
                      type: object
                      properties:
                        id:
                          type: number
                          description: The id of the file.
                        ownedBy:
                          type: string
                          description: The id of the user who owns the file.
                        createdDate:
                          type: string
                          description: The date and time the file was created.
                        createdBy:
                          type: string
                          description: The id of the user who created the file.
                        lastUpdated:
                          type: string
                          description: The date and time the file was last updated.
                        updatedBy:
                          type: string
                          description: The id of the user who last updated the file.
                        name:
                          type: string
                          description: The name of the file.
                        address:
                          type: string
                          description: The address of the file combined into a single string.
                        contactInfo:
                          type: string
                          description: A semicolon seperated list of all of the contacts in the file.
                        type:
                          type: string
                          enum:
                          - File
                          - Template
                          - BrokerTemplate
                          description: The type of the file.
                        representationType:
                          type: string
                          enum:
                          - Buyer
                          - Seller
                          - Tenant
                          - Landlord
                          description: The representation type of the file.
                        templateCategory:
                          type: string
                          enum:
                          - Buyer
                          - Seller
                          - Tenant
                          - Landlord
                          - Other
                          description: The category of the template of the file.
                        documentCount:
                          type: number
                          description: The number of documents in the file.
                        envelopeCount:
                          type: number
                          description: The number of envelopes in the file.
                        isArchived:
                          type: boolean
                          description: Evaluates to true if the file has been archived.
                        meta:
                          type:
                          - 'null'
                          - object
                          description: The meta data of the file.
                          properties:
                            externalId:
                              type: string
                              description: The external id of the file.
                            regions:
                              type: array
                              description: An array of regions for the file.
                              items:
                                type: object
                                properties:
                                  country:
                                    type: string
                                    description: The country of the account group.
                                  region:
                                    type: string
                                    description: The region of the account group.
                            brokerTemplateStatus:
                              type: string
                              enum:
                              - Draft
                              - Published
                              description: The status of the broker template for the file.
                            brokerTemplateStatusUpdatedOn:
                              type: string
                              description: The date and time the broker template status was last updated.
                            accountGroups:
                              type: array
                              description: An array of account groups for the file.
                              items:
                                type: object
                                properties:
                                  groupId:
                                    type: string
                                    description: The id of the account group.
                        mlsNumber:
                          type: string
                          description: The mls number of the file.
                        mlsMarketName:
                          type: string
                          description: The mls market name of the file.
                        photoUrl:
                          type: string
                          description: The url of the photo for the file.
                        transactionMeta:
                          type:
                          - 'null'
                          - object
                          description: The transaction meta data of the file.
                          additionalProperties: true
              example:
                totalRecords: 1
                files:
                - id: 1
                  name: File Name
                  address: 111 One Drive Sacramento, CA 95826
                  contactInfo: Contact info
                  type: File
                  representationType: Buyer
                  templateCategory: Landlord
                  documentCount: 1
                  envelopeCount: 0
                  isArchived: false
                  createdDate: '2023-12-31T12:12:12.123Z'
                  createdBy: iajv98j498j98vasj4h
                  lastUpdated: '2023-12-31T12:12:12.123Z'
                  updatedBy: iajv98j498j98vasj4h
                  ownedBy: iajv98j498j98vasj4h
                  meta:
                    status: pre-contract
                  mlsNumber: '1589519'
                  mlsMarketName: treb
                  photoUrl: http://image-source.com/image.png
                  transactionMeta:
                    status: pre-contract
        default:
          description: An object containing the error that occurred.
          content:
            application/json:
              schema:
                type: object
                description: An object containing the error that occurred.
                properties:
                  code:
                    type: string
                    description: A code that represents the error that occurred.
                  message:
                    type: string
                    description: A description of the error that occurred.
                  errors:
                    type: array
                    description: An array of the errors that occurred.
                    items:
                      type: string
                  traceId:
                    type: string
                    description: A request correlation ID.
  /files/{fileId}:
    patch:
      summary: Update File Details
      tags:
      - Files
      description: 'Update the file details of a listing or transaction file.<div style="color: rgba(38, 50, 56, 0.5); border-bottom: 1px solid rgba(38, 50, 56, 0.3); padding-bottom: 1px;">REQUIRED SCOPES:</div><div style="display: inline-flex; gap: 5px; padding: 5px;"><div style="border-radius: 2px; border: 1px solid rgba(128,128,255,0.5); background-color: rgba(64,64,255,0.25); padding: 0px 5px;">forms.files</div></div>'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              properties:
                name:
                  type: string
                  description: The name of the file.
                fileData:
                  type: object
                  description: File data that can be updated.
                  additionalProperties: true
                  properties:
                    mlsNumber:
                      type: string
                      description: The mls number of the file.
                    purchasePrice:
                      type: number
                      description: The purchase price of the property.
                    closingDate:
                      type: string
                      description: The closing date of the file in the format of YYYY-MM-DDTHH:MM:SSZ.
                    acceptanceDate:
                      type: string
                      description: The acceptanced date of the file in the format of YYYY-MM-DDTHH:MM:SSZ.
                    premisesAddress:
                      type: object
                      description: The property that the file is associated with.
                      additionalProperties: false
                      properties:
                        streetNumber:
                          type: string
                          description: The street number of the property.
                        streetName:
                          type: string
                          description: The street name of the property.
                        unitNumber:
                          type: string
                          description: The unit number of the property.
                        city:
                          type: string
                          description: The city of the property.
                        state:
                          type: string
                          description: The abbreviation for the state/province of the property.
                          minLength: 2
                          maxLength: 2
                        postalCode:
                          type: string
                          description: The postal code of the property.
                        county:
                          type: string
                          description: The county of the property.
                      required:
                      - streetNumber
                      - streetName
                      - city
                      - state
                      - postalCode
      parameters:
      - schema:
          type: integer
        in: path
        name: fileId
        required: true
        description: The id of the file to update.
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  fileId:
                    type: number
                    description: The id of the file that was updated.
                  didAddendumsChange:
                    type: boolean
                    description: Evaluates to true if addendums were changed.
              example:
                fileId: 477309
                didAddendumsChange: false
        default:
          description: An object containing the error that occurred.
          content:
            application/json:
              schema:
                type: object
                description: An object containing the error that occurred.
                properties:
                  code:
                    type: string
                    description: A code that represents the error that occurred.
                  message:
                    type: string
                    description: A description of the error that occurred.
                  errors:
                    type: array
                    description: An array of the errors that occurred.
                    items:
                      type: string
                  traceId:
                    type: string
                    description: A request correlation ID.
    put:
      summary: Update File
      tags:
      - Files
      description: 'Update the file of a listing or transaction file.<div style="color: rgba(38, 50, 56, 0.5); border-bottom: 1px solid rgba(38, 50, 56, 0.3); padding-bottom: 1px;">REQUIRED SCOPES:</div><div style="display: inline-flex; gap: 5px; padding: 5px;"><div style="border-radius: 2px; border: 1px solid rgba(128,128,255,0.5); background-color: rgba(64,64,255,0.25); padding: 0px 5px;">forms.files</div></div>'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              required:
              - property
              - commissions
              - contacts
              properties:
                mlsNumber:
                  type: string
                  description: The mls number of the file.
                purchasePrice:
                  type: number
                  description: The purchase price of the property.
                closingDateTime:
                  type: string
                  description: The closing date of the file in the format of YYYY-MM-DDTHH:MM:SSZ.
                acceptanceDateTime:
                  type: string
                  description: The acceptanced date of the file in the format of YYYY-MM-DDTHH:MM:SSZ.
                property:
                  type: object
                  description: The property that the file is associated with.
                  additionalProperties: false
                  properties:
                    streetNumber:
                      type: string
                      description: The street number of the property.
                    streetName:
                      type: string
                      description: The street name of the property.
                    unitNumber:
                      type: string
                      description: The unit number of the property.
                    city:
                      type: string
                      description: The city of the property.
                    state:
                      type: string
                      description: The abbreviation for the state/province of the property.
                      minLength: 2
                      maxLength: 2
                    postalCode:
                      type: string
                      description: The postal code of the property.
                    county:
                      type: string
                      description: The county of the property.
                  required:
                  - streetNumber
                  - streetName
                  - city
                  - state
                  - postalCode
                commissions:
                  type: array
                  description: An array of the commissions for the file.
                  items:
                    type: object
                    properties:
                      id:
                        type: string
                        description: The id of the commission.
                      type:
                        type: string
                        enum:
                        - Listing
                        - Referral
                        - Sale
                        description: The type of the commission.
                      calculationType:
                        type: string
                        enum:
                        - Flat
                        - Percent
                        description: The calculation type of the commission.
                      amount:
                        type: number
                        description: The amount of the commission.
                      createdBy:
                        type: string
                        description: The id of the user who created the commission.
                      updatedBy:
                        type: string
                        description: The id of the user who last updated the commission.
                      createdOn:
                        type: string
                        description: The date and time the commission was created.
                      updatedOn:
                        type: string
                        description: The date and time the commission was last updated.
                      ownedBy:
                        type: string
                        description: The id of the user who owns the commission.
                contacts:
                  type: array
                  description: An array of contacts for the file.
                  items:
                    type: object
                    additionalProperties: false
                    properties:
                      id:
                        type: string
                        description: The id of the contact.
                      type:
                        type: string
                        description: The role that a contact has been assigned.
                        enum:
                        - Broker
                        - Buyer
                        - BuyerAgent
                        - BuyersLawyer
                        - EscrowOfficer
                        - LoanOfficer
                        - Other
                        - Seller
                        - SellerAgent
                        - SellersLawyer
                        - TitleOfficer
                      actionAttribute:
                        type: string
                        description: Actions for contact to participate in.
                        enum:
                        - Empty
                        - NeedsToSign
                        - CanView
                        - ReceivesCopy
                        - NoAction
                      firstName:
                        type: string
                        description: The first name of the contact.
                      middleName:
                        type: string
                        description: The middle name of the contact.
                      lastName:
                        type: string
                        description: The last name of the contact.
                      suffix:
                        type: string
                        description: The suffix of the contact.
                      email:
                        type: string
                        description: The email of the contact.
                      primaryPhoneNumber:
                        type: string
                        description: The primary phone number of the contact.
                      brokeragePhoneNumber:
                        type: string
                        description: The brokerage phone number of the contact.
                      faxPhoneNumber:
                        type: string
                        description: The fax phone number of the contact.
                      companyName:
                        type: string
                        description: The company name that the contact belongs to.
                      isEntity:
                        type: boolean
                        description: Evaluates to true if the contact is an entity.
                      isUser:
                        type: boolean
                        description: Evaluates to true if the contact is the also the agent (self).
                      isFileOwner:
                        type: boolean
                        description: Evaluates to true if the contact is the file owner.
                      lenderLicenseNumber:
                        type: string
                        description: The lender license number of the contact.
                      agentLicenseNumber:
                        type: string
                        description: The agent license number of the contact.
                      agentMLSCode:
                        type: string
                        description: The agent mls code of the contact.
                      brokerLicenseNumber:
                        type: string
                        description: The broker license number of the contact.
                      brokerMLSCode:
                        type: string
                        description: The broker mls code of the contact.
                      brokerageLicenseNumber:
                        type: string
                        description: The brokerage license number of the contact.
                      brokerageMLSCode:
                        type: string
                        description: The brokerage mls code of the contact.
                      primaryAddress:
                        type: object
                        description: The primary address of the contact.
                        additionalProperties: false
                        properties:
                          streetNumber:
                            type: string
                            description: The street number of the property.
                          streetName:
                            type: string
                            description: The street name of the property.
                          unitNumber:
                            type: string
                            description: The unit number of the property.
                          city:
                            type: string
                            description: The city of the property.
                          state:
                            type: string
                            description: The abbreviation for the state/province of the property.
                            minLength: 2
                            maxLength: 2
                          postalCode:
                            type: string
                            description: The postal code of the property.
                          county:
                            type: string
                            description: The county of the property.
                        required:
                        - streetNumber
                        - streetName
                        - city
                        - state
                        - postalCode
                      contactInformation:
                        type: object
                        description: An object containing all of the contact information for the contact.
                  

# --- truncated at 32 KB (122 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/skyslope/refs/heads/main/openapi/skyslope-files-api-openapi.yml