SkySlope Envelopes API

The Envelopes API from SkySlope — 1 operation(s) for envelopes.

Operations 2

GET /files/{fileId}/envelopes Get Envelopes in File
POST /files/{fileId}/envelopes Create Envelope in 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-envelopes-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-envelopes-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 Envelopes 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: Envelopes
paths:
  /files/{fileId}/envelopes:
    get:
      summary: Get Envelopes in File
      tags:
      - Envelopes
      description: 'Get the envelopes associated with a 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 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 sieve filter to that will be applied to the results.
      - schema:
          type: string
        in: query
        name: sorts
        required: false
        description: A sieve list of sort fields to sort the results by.
      - schema:
          type: integer
          minimum: 1
        in: path
        name: fileId
        required: true
        description: The id of the file to retrieve envelopes for.
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                additionalProperties: false
                properties:
                  totalRecords:
                    type: number
                    description: The total number of envelopes found for the file.
                  envelopes:
                    type: array
                    description: An array of the envelopes found for the file.
                    items:
                      type: object
                      additionalProperties: false
                      properties:
                        id:
                          type: string
                          description: The id of the envelope.
                        name:
                          type: string
                          description: The name of the envelope.
                        status:
                          type: string
                          description: The status of the envelope.
                        isDeleted:
                          type: boolean
                          description: Evaluates to true if the envelope has been deleted.
                        fileId:
                          type: number
                          description: The id of the file that the envelope belongs to.
                        externalId:
                          type: string
                          description: The external id of the envelope.
                        dateSent:
                          type: string
                          description: The date and time the envelope was sent.
                        updatedOn:
                          type: string
                          description: The date and time the envelope was last updated.
                        ownedBy:
                          type: string
                          description: The id of the user who owns the envelope.
                        documentIds:
                          type: array
                          description: An array of the ids of the documents in the envelope.
                          items:
                            type: number
                        signers:
                          type: array
                          description: An array of the signers in the envelope.
                          items:
                            type: object
                            additionalProperties: false
                            properties:
                              id:
                                type: string
                                description: The id of the signer.
                              dateSigned:
                                type: string
                                description: The date and time the signer signed the document.
                              contactId:
                                type: string
                                description: The id of the contact that is the signer.
                              envelopeId:
                                type: string
                                description: The id of the envelope that the signer signed a document in.
                              externalId:
                                type: string
                                description: The external id of the signer.
                              createdBy:
                                type: string
                                description: The id of the user who created the signer entry.
                              updatedBy:
                                type: string
                                description: The id of the user who last updated the signer entry.
                              createdOn:
                                type: string
                                description: The date and time the signer entry was created.
                              updatedOn:
                                type: string
                                description: The date and time the signer entry was last updated.
                              ownedBy:
                                type: string
                                description: The id of the user who owns the signer entry.
        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.
    post:
      summary: Create Envelope in File
      tags:
      - Envelopes
      description: 'Create an envelope for a 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:
              - envelopeName
              - documentIds
              properties:
                envelopeName:
                  type: string
                  description: The name of the envelope to add to the file.
                documentIds:
                  type: array
                  description: An array of the ids of the documents to add to the envelope.
                  items:
                    type: number
        required: true
      parameters:
      - schema:
          type: integer
          minimum: 1
        in: path
        name: fileId
        required: true
        description: The id of the file to add the envelope to.
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                additionalProperties: false
                properties:
                  fileId:
                    type: number
                    description: The id of the file that the envelope was added to.
                  envelope:
                    type: object
                    description: The envelope that was added to the file.
                    additionalProperties: false
                    properties:
                      id:
                        type: string
                        description: The id of the envelope that was added to the file.
                      name:
                        type: string
                        description: The name of the envelope.
              example:
                fileId: 539181
                envelope:
                  id: 115682
                  name: My Envelope Name
        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.