Rocket Lawyer Binders API

The Binders API from Rocket Lawyer — 19 operation(s) for binders.

OpenAPI Specification

rocket-lawyer-binders-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Authentication Accesstoken Binders API
  version: 1.0.0
  description: "This API documentation describes the authentication mechanisms that enable access to the Rocket Lawyer’s APIs. The Rocket Lawyer API Platform uses Oauth 2.0 access tokens (as per [RFC 6750](https://datatracker.ietf.org/doc/html/rfc6750)) to authenticate API requests and protect your resources. \n\nThis page provides a comprehensive overview of the three types of tokens — Access Tokens, Service Tokens, and Scoped Access Tokens — along with guidance on using these tokens effectively during interactions with Rocket Lawyer’s APIs.\n\nGuides that provide step-by-step instructions for how to authenticate using the Rocket Lawyer embeddable UXs can be viewed in the [Guides section](/guides)). \n\nExplore the different authentication tokens and their usage within Rocket Lawyer's API ecosystem using  the sections below:\n\n# Access Token\n\nAccess Tokens are used whenever backend systems need to interact with Rocket Lawyer's APIs. Calls made with these tokens can access the data for all of your customers associated with the App you created in the developer center. Example usage is to start new interviews or retrieve all documents and binders.\n\nTo create an Access Token, issue a POST to /auth/accesstoken using valid credentials, these can be obtained from the [RocketLawyer Developer Portal](https://developer.rocketlawyer.com/) - see the [Welcome Guide](/welcome-guide)) for how to obtain these.\n\nThen include the Access Token as a bearer token in the Authorization header of your API requests to access our API resources.\n\nThis token can be used to start a new interview and retrieve the necessary document templates, establishing a secure foundation for the session.\n\nAccess Tokens expire after 10 hours. During this time, you should securely store this token in your backend for use in future requests. Creating a new access token does not invalidate any previously generated access tokens, your app can have more than one valid access token at a time.\n\n# Service Token\n\nService Tokens are a means for one application to delegate authority to API resources to less privileged applications. Typically a backend application will generate a service token to be distributed to a frontend application, to securely access a specific API resource. Service Tokens are generated with parameters like the purpose, interview ID, and Unique Party Identifier (UPID) that describe the scope of access that can be granted to the frontend application.\n\nGenerate a Service Token by sending a request to the Authentication endpoint with the necessary parameters. \n\nThe Service Token can then be passed to your frontend to be used in an Embedded UX component or to enable your frontend to access the Rocket Lawyer APIs through the creation of a scoped access token. This token has a 1-year expiration time.\n\n\n# Scoped Access Token\n\nA Scoped Access Token is typically used to authenticate frontend interactions. You need to create these tokens only if calling the Rocket Lawyer APIs from your front-end, for example if building your own UX. If using the embedded UX then these tokens are created and handled within the component.\n\nScoped Access Tokens grant access to specific resources, such as an interview (identified by interviewId) or linked to a particular party (identified by a UPID). \n\nTo obtain a Scoped Access Token, you must first generate a Service Token that specifies the resources that can be accessed. To create a scoped access token you need to create a new Developer app in the [RocketLawyer Developer Portal](https://developer.rocketlawyer.com/) that has front-end only scope. Contact Rocket Lawyer developer support (api@rocketlawyer.com) who will help provide this. The key and secret from this front-end app should be used to create the scoped access token. \n\nYou should include this token in the Authorization header of your frontend API requests.\n\n# Application Scope  \nDeveloper apps can be created with either backend or frontend access scope. Apps with backend scope are used for server-to-server communication and can access all our APIs. Apps with frontend scope are used by a web frontend to access our APIs and are restricted in the calls they can make to support the UX. If building your own UX, you will need an app with frontend scope.\n\n**Note** You must not use a Developer App that has backend access to authenticate into Rocket Lawyer APIs from your front-end. This will expose your backend credentials that have access to all your customers' data in the browser.\n"
  termsOfService: https://rocketlawyer-public-us.apigee.io/terms
servers:
- url: https://api-sandbox.rocketlawyer.com/partners/v1/auth
  description: Sandbox
- url: https://api.rocketlawyer.com/partners/v1/auth
  description: Production
tags:
- name: Binders
paths:
  /binders:
    post:
      responses:
        '201':
          description: The binder has been created
          content:
            application/json:
              example:
                id: 936b41f1-66bc-4076-8d0e-5025b8f4b700
                name: Assured shorthold tenancy binder
                status: IN_PREPARATION
                parties:
                - id: 9ba431fa-2dba-425b-a8cc-3b301c93d403
                  reference: partyTest-001
                  legalName: Owner Test
                  email: user1@rocketlawyer.co.uk
                  personId: b83a1b1e-04b2-4c74-b4eb-c1d3da1a9831
                  roles:
                  - OWNER
                  - SIGNER
                  metaData:
                    partyMetaData1: stringValue1
                    partyMetaData2: 3.14159
                    partyMetaData3: false
                  status: PENDING
                - id: 74eaab2f-7e0a-4d04-a6f9-224d481a53be
                  reference: partyTest-002
                  legalName: Signer1 Test
                  email: user2@rocketlawyer.co.uk
                  roles:
                  - SIGNER
                  status: PENDING
                documents:
                - id: 22feb59b-678b-40bf-9ced-3d8458b8e153
                  name: Assured Shorthold Tenancy Agreement 2
                  signable: true
                  order: 1
                  inputs:
                  - id: cc82f7ea-f914-4e29-b0d3-bd913c6a1615
                    type: SIGNATURE_TEXT
                    partyReference: partyTest-001
                    status: PENDING
                    position:
                      type: PLACEHOLDER
                      identifier: signature-001
                  - id: 6feb3cb5-12b9-4fcf-b2ed-c1f620556068
                    type: SIGNATURE_TEXT
                    partyReference: partyTest-002
                    status: PENDING
                    position:
                      type: PLACEHOLDER
                      identifier: signature-002
                  pages: []
                - id: e14e4809-4c31-4e8b-8e06-6f3dbb289b0d
                  name: Addendum to tenancy agreement
                  signable: false
                  order: 2
                  inputs: []
                  metaData:
                    externalDocId: 0178-4aa6-803f
                events:
                - id: ba593f45-6f68-459e-8217-5b0b1d110535
                  partyId: 9ba431fa-2dba-425b-a8cc-3b301c93d403
                  occurredAt: '2020-09-16T07:45:06.493086+00:00'
                  type: BINDER_CREATED
                created: '2017-07-05T13:47:49+01:00'
                defaultMessage: Invitation to sign
                requests: []
                timeOffset: -09:00
                dateFormat: MM/DD/YYYY
                configuration:
                  locale:
                    country: US
                    language: en
              schema:
                $ref: '#/components/schemas/BinderOut'
      description: "<b>Allowed roles:</b> BACKEND<br/>\nCreates the new Binder\n<ul>\n  <li>Creates full binder with documents, inputs and parties.</li>\n  <li>Note that binder status is still <b>IN_PREPARATION</b> as document(s) need to be uploaded.</li>\n</ul>\n"
      operationId: POST_binders
      requestBody:
        content:
          application/json:
            example:
              name: Binder1
              defaultMessage: Invitation to sign
              parties:
              - reference: partyTest-001
                legalName: Owner Test
                email: user1@rocketlawyer.co.uk
                roles:
                - OWNER
                - SIGNER
                metaData:
                  partyMetaData1: stringValue1
                  partyMetaData2: 3.14159
                  partyMetaData3: false
              - reference: partyTest-002
                legalName: Signer1 Test
                email: user2@rocketlawyer.co.uk
                roles:
                - SIGNER
              documents:
              - name: Assured Shorthold Tenancy Agreement
                order: 1
                inputs:
                - type: SIGNATURE_TEXT
                  partyReference: partyTest-001
                  position:
                    type: PLACEHOLDER
                    identifier: signature-001
                - type: SIGNATURE_TEXT
                  partyReference: partyTest-002
                  position:
                    type: PLACEHOLDER
                    identifier: signature-002
              - name: Addendum to tenancy agreement
                order: 2
                metaData:
                  externalDocId: 0178-4aa6-803f
              timeOffset: -09:00
              dateFormat: MM/DD/YYYY
              configuration:
                locale:
                  country: US
                  language: en
            schema:
              $ref: '#/components/schemas/CreateBinderIn'
        required: true
      parameters:
      - name: Content-Type
        in: header
        required: true
        schema:
          enum:
          - application/json
          type: string
      tags:
      - Binders
    get:
      responses:
        '200':
          description: 'The array of binder objects in JSON format <br>Note: email addresses are only visible for Owner role. Non-owner Party only sees it''s own email.'
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BinderOut'
              example:
              - id: 7649c348-2a7c-4b49-960c-5bcae8e05b2c
                name: Simple binder
                status: IN_PREPARATION
                documents:
                - id: 80e31904-5947-4d21-a345-b0a2e62da4af
                  name: Employment contract
                  signable: true
                  order: 1
                  originalContentChecksum: 0da8395a881e5fc36cd7e272ff3b16d9fbed243c7b936278c7299da9d2c788ab
                  contentType: application/pdf
                  inputs:
                  - id: 91780f76-91a6-4e06-95c2-b5b1509ad6d0
                    type: SIGNATURE_TEXT
                    position:
                      type: SIGNATURE_PAGE
                    status: PENDING
                    partyReference: partyReference1
                    optional: false
                    content: {}
                  - id: 787e3e50-d091-4ae1-ac98-9ef688a1d2cb
                    type: DATE_SIGNED
                    position:
                      type: SIGNATURE_PAGE
                    status: PENDING
                    partyReference: partyReference1
                    optional: false
                    configuration:
                      autoComplete: false
                    content: {}
                  - id: 92538fe2-0317-430a-9581-989cdce193f1
                    type: SIGNATURE_TEXT
                    position:
                      type: SIGNATURE_PAGE
                    status: PENDING
                    partyReference: partyReference2
                    optional: false
                    content: {}
                  - id: d2e11512-8981-4ecb-a761-223c9a5817c3
                    type: DATE_SIGNED
                    position:
                      type: SIGNATURE_PAGE
                    status: PENDING
                    partyReference: partyReference2
                    optional: false
                    configuration:
                      autoComplete: false
                    content: {}
                  pages:
                  - id: 0dc384d6-edcb-5c60-8bad-771a225a092e
                parties:
                - id: 1d411047-e1a0-4509-9ea2-809ec22c4fd2
                  reference: partyReference1
                  legalName: Ryszard
                  email: user+owner@rocketlawyer.co.uk
                  jobTitle: Full time document signer
                  personId: b9a03570-06a5-4815-89d9-23cbb54ebff4
                  roles:
                  - OWNER
                  - SIGNER
                  status: PENDING
                - id: f60881fd-e1db-4fb1-b095-86311a870bba
                  reference: partyReference2
                  legalName: Adam
                  email: user+signer@rocketlawyer.co.uk
                  jobTitle: Car seller
                  roles:
                  - SIGNER
                  status: PENDING
                - id: b0ba924c-959b-42e2-8116-4d1e3bbb4c3f
                  reference: partyReference3
                  legalName: Julian Stanford
                  email: user+viewer@rocketlawyer.co.uk
                  jobTitle: Lawyer
                  roles:
                  - VIEWER
                  status: PENDING
                events:
                - id: ddb56dbe-b8db-4cef-8ecd-10245f212b03
                  partyId: 1d411047-e1a0-4509-9ea2-809ec22c4fd2
                  occurredAt: '2021-08-23T09:30:21.135033+00:00'
                  type: BINDER_CREATED
                  details: {}
                locks: []
                created: '2021-08-23T09:30:21.042213+00:00'
                requests: []
                timeOffset: -08:00
                dateFormat: MM/dd/yyyy
                configuration:
                  locale:
                    country: US
                    language: en
                  notification: true
      description: '<b>Allowed roles:</b> BACKEND<br/>

        List of Binders

        '
      operationId: GET_binders
      parameters:
      - name: q
        in: query
        description: 'Specify filters in format: ''key:value|key:value''.

          Possible keys: [partyEmail]

          '
        schema:
          type: string
      - name: limit
        in: query
        description: 'Specify limit of results

          Limits upper bound is 100.'
        schema:
          default: 10
          type: integer
      - name: offset
        in: query
        description: 'Specify offset of result

          '
        schema:
          default: 0
          type: integer
      - name: sort
        in: query
        description: 'Comma-separated list of pairs &lt;field_name&gt; &lt;direction&gt;.<br/>

          Direction can be ascending (ASC) or descending (DESC) and is "ASC" by default therefore can be omitted.<br/>

          Possible field names are: created.

          '
        schema:
          default: id ASC
          type: string
      tags:
      - Binders
  /binders/{binderId}:
    parameters:
    - name: binderId
      in: path
      required: true
      schema:
        type: string
    get:
      responses:
        '200':
          description: 'The binder object in JSON format or all documents uploaded to the Binder merged into one PDF.<br>Note: email addresses are only visible for Owner role. Non-owner Party only sees it''s own email.'
          content:
            application/json:
              example:
                id: 936b41f1-66bc-4076-8d0e-5025b8f4b700
                name: Assured shorthold tenancy binder
                status: IN_PREPARATION
                parties:
                - id: 9ba431fa-2dba-425b-a8cc-3b301c93d403
                  reference: partyTest-001
                  legalName: Owner Test
                  email: user1@rocketlawyer.co.uk
                  personId: b83a1b1e-04b2-4c74-b4eb-c1d3da1a9831
                  roles:
                  - OWNER
                  - SIGNER
                  metaData:
                    partyMetaData1: stringValue1
                    partyMetaData2: 3.14159
                    partyMetaData3: false
                  status: PENDING
                - id: 74eaab2f-7e0a-4d04-a6f9-224d481a53be
                  reference: partyTest-002
                  legalName: Signer1 Test
                  email: user2@rocketlawyer.co.uk
                  roles:
                  - SIGNER
                  status: PENDING
                documents:
                - id: 22feb59b-678b-40bf-9ced-3d8458b8e153
                  name: Assured Shorthold Tenancy Agreement 2
                  signable: true
                  order: 1
                  inputs:
                  - id: cc82f7ea-f914-4e29-b0d3-bd913c6a1615
                    type: SIGNATURE_TEXT
                    partyReference: partyTest-001
                    status: PENDING
                    position:
                      type: PLACEHOLDER
                      identifier: signature-001
                  - id: 6feb3cb5-12b9-4fcf-b2ed-c1f620556068
                    type: SIGNATURE_TEXT
                    partyReference: partyTest-002
                    status: PENDING
                    position:
                      type: PLACEHOLDER
                      identifier: signature-002
                  pages: []
                - id: e14e4809-4c31-4e8b-8e06-6f3dbb289b0d
                  name: Addendum to tenancy agreement
                  signable: false
                  order: 2
                  inputs: []
                  metaData:
                    externalDocId: 0178-4aa6-803f
                events:
                - id: ba593f45-6f68-459e-8217-5b0b1d110535
                  partyId: 9ba431fa-2dba-425b-a8cc-3b301c93d403
                  occurredAt: '2020-09-16T07:45:06.493086+00:00'
                  type: BINDER_CREATED
                created: '2017-07-05T13:47:49+01:00'
                defaultMessage: Invitation to sign
                requests: []
                timeOffset: -09:00
                dateFormat: MM/DD/YYYY
                configuration:
                  locale:
                    country: US
                    language: en
              schema:
                $ref: '#/components/schemas/BinderOut'
      description: '<b>Allowed roles:</b> FRONTEND (all parties), BACKEND<br/>

        Retrieves binder

        '
      operationId: GET_binders-binderId
      parameters:
      - name: Accept
        in: header
        required: true
        schema:
          enum:
          - application/json
          - application/pdf
          type: string
      - name: unsigned
        in: query
        description: 'If present, then unsigned versions of all documents are served as a merged PDF.

          Unsigned is in fact the last uploaded version of the document (just before invitation was triggered).

          '
        schema:
          type: string
      tags:
      - Binders
    delete:
      responses:
        '204':
          description: The binder has been deleted
      description: '<b>Allowed roles:</b> BACKEND<br/>

        Deletes binder

        '
      operationId: DELETE_binders-binderId
      tags:
      - Binders
    patch:
      responses:
        '200':
          description: The binder has been updated
          content:
            application/json:
              example:
                id: 936b41f1-66bc-4076-8d0e-5025b8f4b700
                name: Assured shorthold tenancy binder
                status: IN_PREPARATION
                parties:
                - id: 9ba431fa-2dba-425b-a8cc-3b301c93d403
                  reference: partyTest-001
                  legalName: Owner Test
                  email: user1@rocketlawyer.co.uk
                  personId: b83a1b1e-04b2-4c74-b4eb-c1d3da1a9831
                  roles:
                  - OWNER
                  - SIGNER
                  metaData:
                    partyMetaData1: stringValue1
                    partyMetaData2: 3.14159
                    partyMetaData3: false
                  status: PENDING
                - id: 74eaab2f-7e0a-4d04-a6f9-224d481a53be
                  reference: partyTest-002
                  legalName: Signer1 Test
                  email: user2@rocketlawyer.co.uk
                  roles:
                  - SIGNER
                  status: PENDING
                documents:
                - id: 22feb59b-678b-40bf-9ced-3d8458b8e153
                  name: Assured Shorthold Tenancy Agreement 2
                  signable: true
                  order: 1
                  inputs:
                  - id: cc82f7ea-f914-4e29-b0d3-bd913c6a1615
                    type: SIGNATURE_TEXT
                    partyReference: partyTest-001
                    status: PENDING
                    position:
                      type: PLACEHOLDER
                      identifier: signature-001
                  - id: 6feb3cb5-12b9-4fcf-b2ed-c1f620556068
                    type: SIGNATURE_TEXT
                    partyReference: partyTest-002
                    status: PENDING
                    position:
                      type: PLACEHOLDER
                      identifier: signature-002
                  pages: []
                - id: e14e4809-4c31-4e8b-8e06-6f3dbb289b0d
                  name: Addendum to tenancy agreement
                  signable: false
                  order: 2
                  inputs: []
                  metaData:
                    externalDocId: 0178-4aa6-803f
                events:
                - id: ba593f45-6f68-459e-8217-5b0b1d110535
                  partyId: 9ba431fa-2dba-425b-a8cc-3b301c93d403
                  occurredAt: '2020-09-16T07:45:06.493086+00:00'
                  type: BINDER_CREATED
                created: '2017-07-05T13:47:49+01:00'
                defaultMessage: Invitation to sign
                requests: []
                timeOffset: -09:00
                dateFormat: MM/DD/YYYY
                configuration:
                  locale:
                    country: US
                    language: en
              schema:
                $ref: '#/components/schemas/BinderOut'
      description: '<b>Allowed roles:</b> FRONTEND (OWNER only), BACKEND<br/>

        Updates binder

        <ul>

        <li>A binder can be updated only when it is in the IN_PREPARATION status.</li>

        <li>Updates comply as per RFC-7396</li>

        </ul>

        '
      operationId: PATCH_binders-binderId
      requestBody:
        content:
          application/json:
            example:
              name: Binder1 name changed
              parties:
              - id: 9ba431fa-2dba-425b-a8cc-3b301c93d403
                legalName: Owner Test changed
                email: user1_changed@rocketlawyer.co.uk
                metaData: null
              - id: 74eaab2f-7e0a-4d04-a6f9-224d481a53be
            schema:
              $ref: '#/components/schemas/UpdateBinderIn'
        required: true
      parameters:
      - name: Content-Type
        in: header
        required: true
        schema:
          enum:
          - application/merge-patch+json
          type: string
      tags:
      - Binders
  /binders/{binderId}/status:
    parameters:
    - name: binderId
      in: path
      required: true
      schema:
        type: string
    get:
      responses:
        '200':
          description: Status of the binder and result of preflight validations
          content:
            application/json:
              example:
                status: IN_PREPARATION
                readyForSign: false
                unfilledConditions:
                - status: 400
                  code: error.client.condition.singleMatchingPlaceholderIdentifier
                  title: Unfilled condition
                  detail: Invalid identifier (_ID_1234_), not found in uploaded document
                  source:
                    pointer: /documents/0/inputs/3/position/identifier
                - status: 400
                  code: error.client.condition.documentContentUploaded
                  title: Unfilled condition
                  detail: Document content has to be uploaded
                  source:
                    pointer: /documents/1
              schema:
                $ref: '#/components/schemas/StatusOut'
      description: '<b>Allowed roles:</b> FRONTEND (all parties), BACKEND<br/>

        Series of validations (preflight check) is performed on binder with status IN_PREPARATION.

        Response clearly indicates if binder is ready to be FINALISED or if some changes are still needed.

        '
      operationId: GET_binders-binderId-status
      parameters:
      - name: Accept
        in: header
        required: true
        schema:
          enum:
          - application/json
          type: string
      tags:
      - Binders
  /binders/{binderId}/locks:
    parameters:
    - name: binderId
      in: path
      required: true
      schema:
        type: string
    post:
      responses:
        '201':
          description: The lock has been created (acquired).
          content:
            application/json:
              example:
                id: 373b69fc-9c60-47b1-85f5-0f6f179fde18
                reason: Reason for the Lock
                type: CANCELLATION
              schema:
                $ref: '#/components/schemas/LockOut'
      description: '<b>Allowed roles:</b> BACKEND <br/>

        Creates of lock preventing certain actions on the binder. In example having a cancellation lock on a binder will prevent signing from being cancelled.

        '
      operationId: POST_binders-binderId-locks
      requestBody:
        content:
          application/json:
            example:
              type: CANCELLATION
              reason: Reason for the Lock
            schema:
              $ref: '#/components/schemas/LockIn'
        required: true
      parameters:
      - name: Accept
        in: header
        required: true
        schema:
          enum:
          - application/json
          type: string
      tags:
      - Binders
  /binders/{binderId}/locks/{lockId}:
    parameters:
    - name: lockId
      in: path
      required: true
      schema:
        type: string
    - name: binderId
      in: path
      required: true
      schema:
        type: string
    delete:
      responses:
        '204':
          description: The lock has been deleted (released).
      description: '<b>Allowed roles:</b> BACKEND <br/>

        Delete a lock from the binder.

        Locks can be deleted only by the client that acquired the lock

        '
      operationId: DELETE_binders-binderId-locks-lockId
      parameters:
      - name: Accept
        in: header
        required: true
        schema:
          enum:
          - application/json
          type: string
      tags:
      - Binders
  /binders/{binderId}/parties:
    parameters:
    - name: binderId
      in: path
      required: true
      schema:
        type: string
    get:
      responses:
        '200':
          description: ''
          content:
            application/json:
              example:
                id: 03cf517c-dee7-4e72-b2b7-dc6086dc4f47
                reference: partyTest-003
                legalName: Ashima 'SIGNER'
                email: aParty+SIGNER@rocketlawyer.co.uk
                personId: b83a1b1e-04b2-4c74-b4eb-c1d3da1a9831
                roles:
                - SIGNER
                status: PENDING
              schema:
                $ref: '#/components/schemas/PartyOut'
        '400':
          description: The party ID from the passed Service Token is not present in the Binder object.
        '403':
          description: Passed service token does not give permission to view parties of this Binder.
      description: '<b>Allowed roles:</b> FRONTEND (OWNER only), BACKEND<br/>

        Get party represented by service token.

        '
      operationId: GET_binders-binderId-parties
      parameters:
      - name: serviceToken
        in: query
        required: true
        description: Service Token of a party to check the details about
        schema:
          type: string
      tags:
      - Binders
    post:
      responses:
        '201':
          description: ''
          content:
            application/json:
              example:
                id: 03cf517c-dee7-4e72-b2b7-dc6086dc4f47
                reference: partyTest-003
                legalName: He Who Must Not Be Named
                email: signer@rocketlawyer.co.uk
                personId: b83a1b1e-04b2-4c74-b4eb-c1d3da1a9831
                roles:
                - SIGNER
                status: PENDING
              schema:
                $ref: '#/components/schemas/PartyOut'
      description: "<b>Allowed roles:</b> FRONTEND (OWNER only), BACKEND<br/>\nAdd a party to a binder\n<ul>\n  <li>Normally a party can be added only when the binder is in the `IN_PREPARATION` state.</li>\n  <li>A party with the `VIEWER` role can be added even after sign invitation is triggered. If the party is added\n  after sign invitation, an email containing link to binder will be send to the recently\n  added viewer.</li>\n</ul>\n"
      operationId: POST_binders-binderId-parties
      requestBody:
        content:
          application/json:
            example:
              reference: partyTest-002
              legalName: Ashima 'SIGNER'
              email: example+SIGNER@rocketlawyer.co.uk
              roles:
              - SIGNER
            schema:
              $ref: '#/components/schemas/CreatePartyIn'
        required: true
      parameters:
      - name: Content-Type
        in: header
        required: true
        schema:
          enum:
          - application/json
          type: string
      tags:
      - Binders
  /binders/{binderId}/parties/{partyId}:
    parameters:
    - name: partyId
      in: path
      required: true
      schema:
        type: string
    - name: binderId
      in: path
      required: true
      schema:
        type: string
    patch:
      responses:
        '200':
          description: The binder has been updated
          content:
            application/json:
              example:
                legalName: Owner Test changed
                email: user1_changed@rocketlawyer.co.uk
              schema:
                $ref: '#/components/schemas/PartyOut'
      description: "<b>Allowed roles:</b> FRONTEND (OWNER only), BACKEND<br/>\nUpdate party.\n  <ul>\n  <li>A party can be updated only when binder is in the `IN_PREPARATION` state.</li>\n  <li>Updates comply with RFC-7396</li>\n  </ul>\n"
      operationId: PATCH_binders-binderId-parties-partyId
      requestBody:
        content:
          application/json:
            example:
              legalName: Owner Test changed
              email: user1_changed@rocketlawyer.co.uk
            schema:
              $ref: '#/components/schemas/PatchPartyIn'
        required: true
      parameters:
      - name: Content-Type
        in: header
        required: true
        schema:
          enum:
          - application/merge-patch+json
          type: string
      tags:
      - Binders
    delete:
      responses:
        '204':
          description: Party has been deleted
      description: "<b>Allowed roles:</b> FRONTEND (OWNER only), BACKEND<br/>\nDelete a party.\n<ul>\n  <li>Normally a party can only be deleted when binder is in the `IN_PREPARATION` state.</li>\n  <li>If the party has the `VIEWER` role, it may be deleted even when the binder is in a different state.</li>\n  <li>The owning party cannot be deleted.</li>\n</ul>\n"
      operationId: DELETE_binders-binderId-parties-partyId
      tags:
      - Binders
  /binders/{binderId}/documents:
    parameters:
    - name: binderId
      in: path
      required: true
      schema:
        type: string
    post:
      responses:
        '201':
          description: Document created
          content:
            application/json:
              example:
                id: a023c3c5-5859-40a1-a2a6-150a75c35ab6
                name: Tenancy agreement
                signable: true
                order: 1
                inputs:
                - id: 3071aec4-94c7-490e-a721-f9008f418dbb
                  type: SIGNATURE_TEXT
                  position:
                    type: SIGNATURE_PAGE
                  sta

# --- truncated at 32 KB (129 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/rocket-lawyer/refs/heads/main/openapi/rocket-lawyer-binders-api-openapi.yml