openapi: 3.1.0 info: title: PandaDoc REST API Logs Members API description: The PandaDoc REST API provides programmatic access to PandaDoc's document automation platform, enabling developers to create, send, track, and manage documents within their own applications. The API supports the full document lifecycle including generating documents from templates with dynamic data, collecting e-signatures, managing recipients, and tracking document status. Authentication is handled via API keys or OAuth 2.0, and a free sandbox environment is available for testing integrations before moving to production. An active Enterprise plan is required to access the production API. version: 7.18.0 contact: name: PandaDoc API Support url: https://developers.pandadoc.com/ email: api-track@pandadoc.com termsOfService: https://www.pandadoc.com/master-services-agreement/ servers: - url: https://api.pandadoc.com/public/v1 description: Production Server security: - apiKey: [] - oauth2: [] tags: - name: Members description: Operations for managing and retrieving details about workspace members, including listing members and generating member API tokens. paths: /members: get: operationId: listMembers summary: List Members description: Returns a list of all members in the current workspace, including their user details, roles, and status. Useful for workspace administration and for looking up member identifiers. tags: - Members responses: '200': description: List of workspace members. content: application/json: schema: $ref: '#/components/schemas/MemberListResponse' '401': $ref: '#/components/responses/Unauthorized' '429': $ref: '#/components/responses/TooManyRequests' /members/current: get: operationId: getCurrentMember summary: Get Current Member description: Returns the profile of the currently authenticated member, including their identifier, email, name, role, and workspace association. tags: - Members responses: '200': description: Current member details. content: application/json: schema: $ref: '#/components/schemas/Member' '401': $ref: '#/components/responses/Unauthorized' '429': $ref: '#/components/responses/TooManyRequests' /members/{id}: get: operationId: getMember summary: Get Member description: Retrieves the details of a specific workspace member by their unique identifier, including their name, email, role, and membership status. tags: - Members parameters: - $ref: '#/components/parameters/MemberId' responses: '200': description: Member details retrieved. content: application/json: schema: $ref: '#/components/schemas/Member' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' components: schemas: Member: type: object description: A workspace member representing a PandaDoc user within a workspace. properties: id: type: string description: Unique identifier of the member. user_id: type: string description: User account identifier. email: type: string format: email description: Email address of the member. first_name: type: string description: First name of the member. last_name: type: string description: Last name of the member. role: type: string description: Role of the member within the workspace. enum: - admin - manager - user status: type: string description: Membership status. enum: - active - inactive MemberListResponse: type: object description: List of workspace members. properties: results: type: array description: Array of member records. items: $ref: '#/components/schemas/Member' ErrorResponse: type: object description: Standard error response body. properties: type: type: string description: Error type identifier. detail: type: string description: Human-readable description of the error. parameters: MemberId: name: id in: path required: true description: Unique identifier of the workspace member. schema: type: string responses: Unauthorized: description: Authentication credentials are missing or invalid. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' NotFound: description: The requested resource was not found. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' TooManyRequests: description: Rate limit exceeded. Retry after the indicated delay. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' securitySchemes: apiKey: type: apiKey in: header name: Authorization description: API Key authentication. Include the key in the Authorization header as "API-Key YOUR_API_KEY". Generate keys from the PandaDoc Developer Dashboard. oauth2: type: oauth2 description: OAuth 2.0 authentication. Use the authorization code flow to obtain user-scoped access tokens. Tokens expire after approximately one year. flows: authorizationCode: authorizationUrl: https://app.pandadoc.com/oauth2/authorize tokenUrl: https://api.pandadoc.com/oauth2/access_token scopes: read: Read access to documents, templates, contacts, and workspace data. write: Write access to create and modify documents, templates, and contacts. externalDocs: description: PandaDoc API Reference url: https://developers.pandadoc.com/reference/about