AbilityOne Procurement List API

The Procurement List Information Management System (PLIMS) provides search access to the AbilityOne Procurement List — the catalog of products (identified by NSN) and services that federal agencies are mandated to procure from AbilityOne-participating nonprofit agencies. Supports search by NSN, product description, service type, agency, and nonprofit affiliate.

OpenAPI Specification

abilityone-procurement-list-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: AbilityOne Procurement List API
  description: >-
    The AbilityOne Procurement List Information Management System (PLIMS) provides
    search access to the AbilityOne Procurement List — the catalog of products and
    services that federal agencies are mandated to procure from nonprofit agencies
    that employ people who are blind or have significant disabilities, under the
    Javits-Wagner-O'Day (JWOD) Act. This spec represents the conceptual API surface
    for the PLIMS system at plims.abilityone.gov.
  version: '1.0.0'
  contact:
    name: US AbilityOne Commission
    url: https://www.abilityone.gov
    email: [email protected]
  x-generated-from: documentation
externalDocs:
  description: AbilityOne Procurement List
  url: https://www.abilityone.gov/procurement_list/
servers:
  - url: https://plims.abilityone.gov
    description: AbilityOne PLIMS (Procurement List Information Management System)
tags:
  - name: Products
    description: AbilityOne Procurement List products identified by NSN
  - name: Services
    description: AbilityOne Procurement List services
  - name: Agencies
    description: Nonprofit agencies participating in the AbilityOne program
  - name: Reports
    description: Procurement list reports and data downloads
security: []
paths:
  /api/products:
    get:
      operationId: searchProducts
      summary: AbilityOne Search Procurement List Products
      description: >-
        Search the AbilityOne Procurement List for products by National Stock
        Number (NSN), description, agency, or nonprofit affiliate. Returns
        products that federal agencies are mandated to procure through the
        AbilityOne program.
      tags:
        - Products
      parameters:
        - name: nsn
          in: query
          description: National Stock Number (format xxxx-xx-xxx-xxxx)
          schema:
            type: string
            pattern: '^\d{4}-\d{2}-\d{3}-\d{4}$'
          example: "7510-01-234-5678"
        - name: description
          in: query
          description: Product description keyword search (supports wildcards)
          schema:
            type: string
          example: "ballpoint pen"
        - name: nonprofit
          in: query
          description: Filter by nonprofit affiliate (NIB or SourceAmerica)
          schema:
            type: string
            enum:
              - NIB
              - SourceAmerica
          example: "NIB"
        - name: agency
          in: query
          description: Filter by performing nonprofit agency name
          schema:
            type: string
          example: "Lighthouse for the Blind"
        - name: limit
          in: query
          description: Maximum number of results to return
          schema:
            type: integer
            default: 25
            maximum: 100
          example: 25
        - name: offset
          in: query
          description: Pagination offset
          schema:
            type: integer
            default: 0
          example: 0
      responses:
        '200':
          description: Procurement list product search results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductSearchResponse'
              examples:
                searchProducts200Example:
                  summary: Default searchProducts 200 response
                  x-microcks-default: true
                  value:
                    total: 48
                    offset: 0
                    limit: 25
                    products:
                      - nsn: "7510-01-234-5678"
                        description: "PEN, BALLPOINT"
                        nonprofitAffiliate: "NIB"
                        performingAgency: "Lighthouse for the Blind - St. Louis"
                        unitOfMeasure: "DZ"
                        approvalDate: "2005-03-15"
                        status: "active"
        '400':
          description: Invalid search parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK

  /api/products/{nsn}:
    get:
      operationId: getProduct
      summary: AbilityOne Get Product by NSN
      description: >-
        Retrieve detailed information for a specific AbilityOne Procurement List
        product by its National Stock Number (NSN).
      tags:
        - Products
      parameters:
        - name: nsn
          in: path
          required: true
          description: National Stock Number (format xxxx-xx-xxx-xxxx)
          schema:
            type: string
          example: "7510-01-234-5678"
      responses:
        '200':
          description: Product details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Product'
              examples:
                getProduct200Example:
                  summary: Default getProduct 200 response
                  x-microcks-default: true
                  value:
                    nsn: "7510-01-234-5678"
                    description: "PEN, BALLPOINT"
                    longDescription: "Ballpoint pen, retractable, medium point, black ink"
                    nonprofitAffiliate: "NIB"
                    performingAgency: "Lighthouse for the Blind - St. Louis"
                    unitOfMeasure: "DZ"
                    approvalDate: "2005-03-15"
                    status: "active"
                    federalSupplyClass: "7510"
                    productGroupName: "Office Supplies"
        '404':
          description: Product not found on Procurement List
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK

  /api/services:
    get:
      operationId: searchServices
      summary: AbilityOne Search Procurement List Services
      description: >-
        Search the AbilityOne Procurement List for services by type, agency,
        geographic location, or performing nonprofit organization.
      tags:
        - Services
      parameters:
        - name: serviceType
          in: query
          description: Type of service
          schema:
            type: string
            enum:
              - Custodial
              - Grounds Maintenance
              - Food Service
              - Laundry
              - Administrative
              - Mailroom
              - Document Destruction
              - IT Support
          example: "Custodial"
        - name: state
          in: query
          description: State where service is performed (2-letter abbreviation)
          schema:
            type: string
            maxLength: 2
          example: "VA"
        - name: nonprofit
          in: query
          description: Filter by nonprofit affiliate
          schema:
            type: string
            enum:
              - NIB
              - SourceAmerica
          example: "SourceAmerica"
        - name: limit
          in: query
          schema:
            type: integer
            default: 25
          example: 25
        - name: offset
          in: query
          schema:
            type: integer
            default: 0
          example: 0
      responses:
        '200':
          description: Procurement list service search results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceSearchResponse'
              examples:
                searchServices200Example:
                  summary: Default searchServices 200 response
                  x-microcks-default: true
                  value:
                    total: 12
                    offset: 0
                    limit: 25
                    services:
                      - id: "svc-00123"
                        serviceType: "Custodial"
                        description: "Custodial services at federal building"
                        location: "Pentagon, Arlington, VA"
                        state: "VA"
                        nonprofitAffiliate: "SourceAmerica"
                        performingAgency: "SERVICEMASTER"
                        approvalDate: "2010-06-01"
                        status: "active"
        '400':
          description: Invalid search parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK

  /api/agencies:
    get:
      operationId: listAgencies
      summary: AbilityOne List Nonprofit Agencies
      description: >-
        Retrieve a list of nonprofit agencies participating in the AbilityOne
        program, optionally filtered by affiliate (NIB or SourceAmerica) or state.
      tags:
        - Agencies
      parameters:
        - name: affiliate
          in: query
          description: Filter by central nonprofit agency affiliate
          schema:
            type: string
            enum:
              - NIB
              - SourceAmerica
          example: "NIB"
        - name: state
          in: query
          description: Filter by state (2-letter abbreviation)
          schema:
            type: string
            maxLength: 2
          example: "TX"
        - name: limit
          in: query
          schema:
            type: integer
            default: 50
          example: 50
      responses:
        '200':
          description: List of participating nonprofit agencies
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgencyListResponse'
              examples:
                listAgencies200Example:
                  summary: Default listAgencies 200 response
                  x-microcks-default: true
                  value:
                    total: 93
                    agencies:
                      - id: "agency-001"
                        name: "Lighthouse for the Blind - St. Louis"
                        affiliate: "NIB"
                        state: "MO"
                        city: "St. Louis"
                        phone: "314-842-1180"
                        website: "https://www.blindmissouri.org"
        '400':
          description: Invalid parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK

  /api/reports/products:
    get:
      operationId: downloadProductReport
      summary: AbilityOne Download Products List Report
      description: >-
        Download the complete AbilityOne Procurement List products report in
        Excel or CSV format, containing all NSN-identified products with
        performing agency and unit details.
      tags:
        - Reports
      parameters:
        - name: format
          in: query
          description: Report output format
          schema:
            type: string
            enum:
              - excel
              - csv
            default: excel
          example: "excel"
        - name: affiliate
          in: query
          description: Filter by nonprofit affiliate
          schema:
            type: string
            enum:
              - NIB
              - SourceAmerica
          example: "NIB"
      responses:
        '200':
          description: Products list report file
          content:
            application/vnd.openxmlformats-officedocument.spreadsheetml.sheet:
              schema:
                type: string
                format: binary
            text/csv:
              schema:
                type: string
        '400':
          description: Invalid format parameter
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK

  /api/reports/services:
    get:
      operationId: downloadServiceReport
      summary: AbilityOne Download Services List Report
      description: >-
        Download the complete AbilityOne Procurement List services report in
        Excel or CSV format, containing all services with location, performing
        agency, and service type details.
      tags:
        - Reports
      parameters:
        - name: format
          in: query
          description: Report output format
          schema:
            type: string
            enum:
              - excel
              - csv
            default: excel
          example: "excel"
      responses:
        '200':
          description: Services list report file
          content:
            application/vnd.openxmlformats-officedocument.spreadsheetml.sheet:
              schema:
                type: string
                format: binary
            text/csv:
              schema:
                type: string
        '400':
          description: Invalid format parameter
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK

components:
  schemas:
    Product:
      type: object
      description: An AbilityOne Procurement List product identified by National Stock Number
      properties:
        nsn:
          type: string
          description: National Stock Number (primary identifier)
          example: "7510-01-234-5678"
        description:
          type: string
          description: Short product description
          example: "PEN, BALLPOINT"
        longDescription:
          type: string
          description: Detailed product description
          example: "Ballpoint pen, retractable, medium point, black ink"
        nonprofitAffiliate:
          type: string
          description: Central nonprofit agency affiliate (NIB or SourceAmerica)
          enum:
            - NIB
            - SourceAmerica
          example: "NIB"
        performingAgency:
          type: string
          description: Name of the nonprofit agency producing the product
          example: "Lighthouse for the Blind - St. Louis"
        unitOfMeasure:
          type: string
          description: Unit of measure for ordering
          example: "DZ"
        unitPrice:
          type: number
          description: Unit price in USD
          example: 4.85
        approvalDate:
          type: string
          format: date
          description: Date product was added to the Procurement List
          example: "2005-03-15"
        status:
          type: string
          description: Product status on the Procurement List
          enum:
            - active
            - deleted
          example: "active"
        federalSupplyClass:
          type: string
          description: Federal Supply Class (FSC) code
          example: "7510"
        productGroupName:
          type: string
          description: Product group or category name
          example: "Office Supplies"

    ProductSearchResponse:
      type: object
      description: Paginated search results for Procurement List products
      properties:
        total:
          type: integer
          description: Total matching products
          example: 48
        offset:
          type: integer
          description: Pagination offset
          example: 0
        limit:
          type: integer
          description: Page size
          example: 25
        products:
          type: array
          description: List of matching products
          items:
            $ref: '#/components/schemas/Product'

    Service:
      type: object
      description: An AbilityOne Procurement List service
      properties:
        id:
          type: string
          description: Service identifier
          example: "svc-00123"
        serviceType:
          type: string
          description: Type of service
          example: "Custodial"
        description:
          type: string
          description: Service description
          example: "Custodial services at federal building"
        location:
          type: string
          description: Location where service is performed
          example: "Pentagon, Arlington, VA"
        state:
          type: string
          description: State abbreviation
          example: "VA"
        nonprofitAffiliate:
          type: string
          description: Central nonprofit affiliate
          enum:
            - NIB
            - SourceAmerica
          example: "SourceAmerica"
        performingAgency:
          type: string
          description: Name of nonprofit agency performing the service
          example: "SERVICEMASTER"
        approvalDate:
          type: string
          format: date
          description: Date service was added to the Procurement List
          example: "2010-06-01"
        status:
          type: string
          description: Service status
          enum:
            - active
            - deleted
          example: "active"

    ServiceSearchResponse:
      type: object
      description: Paginated search results for Procurement List services
      properties:
        total:
          type: integer
          example: 12
        offset:
          type: integer
          example: 0
        limit:
          type: integer
          example: 25
        services:
          type: array
          items:
            $ref: '#/components/schemas/Service'

    Agency:
      type: object
      description: A nonprofit agency participating in the AbilityOne program
      properties:
        id:
          type: string
          description: Agency identifier
          example: "agency-001"
        name:
          type: string
          description: Agency name
          example: "Lighthouse for the Blind - St. Louis"
        affiliate:
          type: string
          description: Central nonprofit affiliate
          enum:
            - NIB
            - SourceAmerica
          example: "NIB"
        state:
          type: string
          description: State abbreviation
          example: "MO"
        city:
          type: string
          description: City
          example: "St. Louis"
        address:
          type: string
          description: Mailing address
          example: "4244 Forest Park Ave, St. Louis, MO 63108"
        phone:
          type: string
          description: Contact phone number
          example: "314-842-1180"
        website:
          type: string
          description: Agency website URL
          example: "https://www.blindmissouri.org"
        employeesBlind:
          type: integer
          description: Number of employees who are blind
          example: 125
        employeesDisabled:
          type: integer
          description: Number of employees with significant disabilities
          example: 45

    AgencyListResponse:
      type: object
      description: List of nonprofit agencies
      properties:
        total:
          type: integer
          example: 93
        agencies:
          type: array
          items:
            $ref: '#/components/schemas/Agency'

    APIError:
      type: object
      description: API error response
      properties:
        error:
          type: string
          description: Error code
          example: "not_found"
        message:
          type: string
          description: Human-readable error message
          example: "NSN not found on Procurement List."
        code:
          type: integer
          description: HTTP status code
          example: 404