Skip to content

Unofficial community documentation for Prophet 21 (P21) APIs with Python examples. Covers OData, Transaction, Interactive, and Entity APIs. Not affiliated with Epicor.

Notifications You must be signed in to change notification settings

mrwuss/p21-api-documentation

Repository files navigation

P21 API Documentation

Disclaimer: This is unofficial, community-created documentation for Epicor Prophet 21 APIs. It is not affiliated with, endorsed by, or supported by Epicor Software Corporation. All product names, trademarks, and registered trademarks are property of their respective owners. Use at your own risk.

Comprehensive documentation and working Python examples for all Prophet 21 integration APIs.

Overview

This repository provides developer-focused documentation for P21's integration APIs. All content is based on official Epicor SDK documentation and verified working implementations.

View Online Documentation

APIs Covered

API Purpose Best For
OData Read-only data access via standard OData protocol Reporting, lookups, data exports
Transaction API Stateless bulk data manipulation Bulk creates, external integrations
Interactive API Stateful window interactions with business logic Complex workflows, validation
Entity API Simple CRUD on business objects Basic record operations
Inventory REST API Inventory item CRUD, multi-company workflows Item reads, appending locations/suppliers

Quick Start

# Clone and setup
git clone https://github.com/mrwuss/p21-api-documentation.git
cd p21-api-documentation

# Install dependencies
pip install -r requirements.txt

# Configure environment
cp .env.example .env
# Edit .env with your P21 credentials

# Run an example
python scripts/odata/01_basic_query.py

Documentation

Getting Started

API Reference

Troubleshooting

Reference

Example Scripts

OData

  • scripts/odata/01_basic_query.py - Simple table query
  • scripts/odata/02_filtering.py - Filter expressions
  • scripts/odata/03_pagination.py - Skip, top, count
  • scripts/odata/04_complex_queries.py - Advanced queries

Transaction API

  • scripts/transaction/01_list_services.py - Discover services
  • scripts/transaction/02_get_definition.py - Get service schema
  • scripts/transaction/03_create_single.py - Create one record
  • scripts/transaction/04_create_bulk.py - Batch operations
  • scripts/transaction/test_session_pool.py - Diagnose pool issues

Interactive API

  • scripts/interactive/01_open_session.py - Session lifecycle
  • scripts/interactive/02_open_window.py - Window operations
  • scripts/interactive/03_change_data.py - Field manipulation
  • scripts/interactive/04_save_and_close.py - Save workflow

Entity API

  • scripts/entity/01_list_entities.py - Discover entities
  • scripts/entity/02_query_entity.py - Query records
  • scripts/entity/03_create_entity.py - Create record

Environment Variables

Variable Required Description
P21_BASE_URL Yes P21 server URL (e.g., https://play.p21server.com)
P21_USERNAME Yes P21 API username
P21_PASSWORD Yes P21 API password

Content Sources

All documentation is derived from:

  • Official SDK: Epicor P21 SDK documentation
  • Working Code: Verified implementations from production projects
  • Actual Testing: Tested against P21 test environments

Contributing

This documentation is a community effort! We welcome contributions:

See CONTRIBUTING.md for guidelines.

License

MIT License - See LICENSE file

About

Unofficial community documentation for Prophet 21 (P21) APIs with Python examples. Covers OData, Transaction, Interactive, and Entity APIs. Not affiliated with Epicor.

Topics

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages