Skip to content

SDK Documentation

SDK Documentation

SchoolPalm provides comprehensive SDKs for all major languages. Choose your preferred language and get started in minutes.

Official SDKs

Node.js SDK

The most popular SDK for JavaScript/TypeScript development.

Installation:

npm install schoolpalm
# or
yarn add schoolpalm

Basic Usage:

import SchoolPalm from 'schoolpalm';

const client = new SchoolPalm({
  apiKey: process.env.SCHOOLPALM_API_KEY
});

// List schools
const schools = await client.schools.list();

// Get a specific school
const school = await client.schools.get('school-123');

Node.js SDK GitHub →

Python SDK

Full-featured Python library with async support.

Installation:

pip install schoolpalm

Basic Usage:

import schoolpalm

client = schoolpalm.Client(api_key='your-api-key')

# List students
students = client.students.list(school_id='school-123')

# Create a new student
student = client.students.create(
    school_id='school-123',
    name='John Doe',
    email='john@example.com'
)

Python SDK GitHub →

Go SDK

High-performance Go client with full type safety.

Installation:

go get github.com/schoolpalm/go-sdk

Basic Usage:

package main

import "github.com/schoolpalm/go-sdk"

func main() {
    client := schoolpalm.NewClient(os.Getenv("SCHOOLPALM_API_KEY"))
    
    schools, err := client.Schools.List(ctx)
    if err != nil {
        log.Fatal(err)
    }
}

Go SDK GitHub →

Java SDK

Enterprise-grade SDK with Spring Boot integration.

Maven:

<dependency>
    <groupId>com.schoolpalm</groupId>
    <artifactId>schoolpalm-client</artifactId>
    <version>1.0.0</version>
</dependency>

Basic Usage:

SchoolPalmClient client = SchoolPalmClient.builder()
    .apiKey(System.getenv("SCHOOLPALM_API_KEY"))
    .build();

List<School> schools = client.schools().list();

Java SDK GitHub →

Ruby SDK

Idiomatic Ruby client with ActiveRecord-like interface.

Installation:

gem install schoolpalm

Basic Usage:

require 'schoolpalm'

SchoolPalm.api_key = ENV['SCHOOLPALM_API_KEY']

schools = SchoolPalm::School.list
students = SchoolPalm::Student.find('student-123')

Ruby SDK GitHub →

SDK Features

All official SDKs include:

  • ✅ Full API coverage
  • ✅ Automatic request retries with exponential backoff
  • ✅ Rate limit handling
  • ✅ Built-in logging and debugging
  • ✅ Webhook signature verification
  • ✅ Type safety (where applicable)
  • ✅ Comprehensive error handling
  • ✅ Pagination support

Community SDKs

These SDKs are maintained by the community:

Have you built an SDK? Submit it to our marketplace!

API Documentation

For the complete API reference, see API Reference.

Troubleshooting

Module not found? - Ensure you’ve installed the SDK correctly and are using the right import path.

Authentication errors? - Double-check your API key and ensure it has the necessary scopes.

Need help? - Check the SDK’s GitHub issues or contact support.