PracticePanther Relationship API

The Relationship API from PracticePanther — 2 operation(s) for relationship.

OpenAPI Specification

practicepanther-relationship-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  version: v1
  title: Legacy API (v1) Account Relationship API
  description: ''
servers:
- url: https://app.practicepanther.com
tags:
- name: Relationship
paths:
  /api/relationship/{guid}:
    get:
      tags:
      - Relationship
      summary: Returns a relationshi
      operationId: Relationship_GetRelationship
      parameters:
      - name: guid
        in: path
        description: ''
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RelationshipDTO_Detail'
            text/json:
              schema:
                $ref: '#/components/schemas/RelationshipDTO_Detail'
      security:
      - oauth2:
        - full
  /api/relationship:
    get:
      tags:
      - Relationship
      summary: OData end point to get a list of all relationships for contacts accessible by the user
      operationId: Relationship_GetRelationships
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RelationshipDTO'
            text/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RelationshipDTO'
      security:
      - oauth2:
        - full
    put:
      tags:
      - Relationship
      summary: Updates an existing relationship
      operationId: Relationship_PutRelationship
      requestBody:
        $ref: '#/components/requestBodies/RelationshipDTO_Detail'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RelationshipDTO_Detail'
            text/json:
              schema:
                $ref: '#/components/schemas/RelationshipDTO_Detail'
      security:
      - oauth2:
        - full
    post:
      tags:
      - Relationship
      summary: Creates a new relationship
      operationId: Relationship_PostRelationship
      requestBody:
        $ref: '#/components/requestBodies/RelationshipDTO_Detail'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RelationshipDTO_Detail'
            text/json:
              schema:
                $ref: '#/components/schemas/RelationshipDTO_Detail'
      security:
      - oauth2:
        - full
    delete:
      tags:
      - Relationship
      summary: Deletes an existing relationship
      operationId: Relationship_DeleteRelationship
      parameters:
      - name: guid
        in: query
        description: ''
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RelationshipDTO_Detail'
            text/json:
              schema:
                $ref: '#/components/schemas/RelationshipDTO_Detail'
      security:
      - oauth2:
        - full
components:
  schemas:
    ContactRef:
      type: object
      properties:
        firstName:
          type: string
        lastName:
          type: string
        middleName:
          type: string
        accountName:
          type: string
        displayName:
          type: string
        guid:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        email:
          type: string
    AccountRef:
      type: object
      properties:
        nameAndNumber:
          description: ' '
          type: string
          readOnly: true
        guid:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        utbmsIsEnabled:
          type: boolean
        id:
          format: int64
          type: integer
    UserRef:
      type: object
      properties:
        guid:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        displayName:
          description: ' '
          type: string
          readOnly: true
        name:
          description: ' '
          type: string
          readOnly: true
        timeZoneId:
          type: string
    ProjectRef:
      type: object
      properties:
        nameAndNumber:
          description: This is a read only property This is a read only property
          type: string
          readOnly: true
        guid:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        accountGuid:
          format: uuid
          description: 'Used to set the reference in POST and PUT '
          type: string
          example: 00000000-0000-0000-0000-000000000000
        id:
          format: int64
          type: integer
    RelationshipDTO_Detail:
      required:
      - contactGuid
      - projectGuid
      - relationshipName
      type: object
      properties:
        contactGuid:
          format: uuid
          description: 'Used to set the reference in POST and PUT '
          pattern: ^(\{{0,1}([0-9a-fA-F]){8}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){12}\}{0,1})$
          type: string
          example: 00000000-0000-0000-0000-000000000000
        projectGuid:
          format: uuid
          description: 'Used to set the reference in POST and PUT '
          pattern: ^(\{{0,1}([0-9a-fA-F]){8}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){12}\}{0,1})$
          type: string
          example: 00000000-0000-0000-0000-000000000000
        createdDate:
          format: date-time
          description: ' '
          type: string
          readOnly: true
        createdBy:
          $ref: '#/components/schemas/UserRef'
        lastModifiedBy:
          $ref: '#/components/schemas/UserRef'
        lastModifiedDate:
          format: date-time
          description: ' '
          type: string
          readOnly: true
        guid:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        account:
          $ref: '#/components/schemas/AccountRef'
        contact:
          $ref: '#/components/schemas/ContactRef'
        project:
          $ref: '#/components/schemas/ProjectRef'
        relationshipName:
          type: string
        notes:
          type: string
    RelationshipDTO:
      required:
      - relationshipName
      type: object
      properties:
        guid:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        account:
          $ref: '#/components/schemas/AccountRef'
        contact:
          $ref: '#/components/schemas/ContactRef'
        project:
          $ref: '#/components/schemas/ProjectRef'
        relationshipName:
          type: string
        notes:
          type: string
  requestBodies:
    RelationshipDTO_Detail:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RelationshipDTO_Detail'
        text/json:
          schema:
            $ref: '#/components/schemas/RelationshipDTO_Detail'
        application/x-www-form-urlencoded:
          schema:
            $ref: '#/components/schemas/RelationshipDTO_Detail'
      required: true
  securitySchemes:
    oauth2:
      type: oauth2
      description: OAuth 2.0 - Authorization Code Grant
      flows:
        authorizationCode:
          authorizationUrl: /OAuth/Authorize
          tokenUrl: /OAuth/Token
          scopes:
            full: Read/Write access to all resources