> ## Documentation Index
> Fetch the complete documentation index at: https://docs.parchmenthealth.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Read custom drugs bulk

> Retrieves the organization-level custom drug catalog (shared org drugs only).

Retrieves the **organization-level** custom drug catalog (shared org drugs only).

## Integration Notes

1. **Scope Requirement**: Your API token must include the `read:custom_drug` scope.
2. **Organization admin/owner required**: The acting user (the token's `user_id`) must be an organization **owner** or **admin**. A token that carries the correct scope but whose user is a non-admin (e.g. a prescriber) is rejected with `401 Unauthorized`. This restriction applies only to the organization-level (bulk) endpoints; the user-level custom-drug endpoints have no such requirement.
3. **Scope of data**: Returns only organization-level drugs (`ORGANIZATION#{organization_id}`). To get a specific prescriber's combined list (org + their personal drugs), use the user-level list endpoint.
4. **Prefill**: Use each drug's `custom_drug_id` to prefill the prescription form.
5. **Optional fields**: Fields that are not set on a drug are omitted from the response.


## OpenAPI

````yaml GET /v1/organizations/{organization_id}/custom-drugs
openapi: 3.0.1
info:
  title: Parchment APIs
  description: >-
    Parchments API documentation for partner integrations, enabling secure
    e-prescription services
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api.sandbox.parchmenthealth.io/external
  - url: https://api.parchmenthealth.io/external
security:
  - bearerAuth: []
paths:
  /v1/organizations/{organization_id}/custom-drugs:
    get:
      description: >-
        Retrieves the organization-level custom drug catalog (shared org drugs
        only).
      parameters:
        - name: x-organization-secret
          in: header
          required: true
          description: Organization secret for authentication - provided by Parchment
          schema:
            type: string
        - name: organization_id
          in: path
          required: true
          description: Organization ID
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Custom drugs retrieved successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  statusCode:
                    type: integer
                  message:
                    type: string
                  code:
                    type: string
                    example: SUCCESS
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/ExternalCustomDrug'
                  timestamp:
                    type: string
                  requestId:
                    type: string
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExternalApiErrorResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExternalApiErrorResponse'
components:
  schemas:
    ExternalCustomDrug:
      type: object
      description: >-
        A custom drug as exposed to partners. custom_drug_id is the unique
        identifier used to prefill the prescription form.
      properties:
        custom_drug_id:
          type: string
          description: Unique identifier for the custom drug
        item_generic_name:
          type: string
        item_trade_name:
          type: string
        brand_name:
          type: string
        item_strength:
          type: string
        item_form:
          type: string
        route_of_administration:
          type: string
        quantity:
          type: string
        max_repeats:
          type: string
        poison_class:
          type: string
        custom_product_id:
          type: string
        description:
          type: string
        patient_instructions:
          type: string
        doctor_instructions:
          type: string
    ExternalApiErrorResponse:
      type: object
      required:
        - success
        - statusCode
        - error
        - timestamp
        - requestId
      properties:
        success:
          type: boolean
          description: Indicates if the request was successful
          example: false
        statusCode:
          type: integer
          description: HTTP status code
          example: 400
        code:
          type: string
          description: Machine-readable operation code identifying the error
          example: RESOURCE_NOT_FOUND
        error:
          type: object
          description: RFC 7807 compliant error details
          required:
            - type
            - title
            - detail
          properties:
            type:
              type: string
              format: uri
              description: URI identifying the problem type
              example: https://parchment.health/errors/validation-error
            title:
              type: string
              description: Human-readable summary of the problem
              example: Validation failed
            detail:
              type: string
              description: Human-readable explanation of the problem
              example: There were some problems with your input.
            instance:
              type: string
              format: uri
              description: URI reference to the specific occurrence
              example: /patients/123
            validation:
              type: array
              description: Field-level validation errors (for 422 responses)
              items:
                type: object
                properties:
                  field:
                    type: string
                    description: Field name that failed validation
                  message:
                    type: string
                    description: Validation error message
                  code:
                    type: string
                    description: Error code for programmatic handling
        timestamp:
          type: string
          format: date-time
          description: ISO 8601 timestamp of the response
          example: '2024-01-15T10:30:00.000Z'
        requestId:
          type: string
          description: Unique identifier for request tracing
          example: req_1705312200000_def456
        meta:
          type: object
          description: Additional response metadata
          properties:
            apiVersion:
              type: string
              description: API version used
              example: '1.0'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````