Organizations
Manage organization settings and configuration
Overview
Organizations represent your pool service business. Each organization contains its own customers, appointments, users, and settings. Organization settings control branding, integrations, and default behaviors.
Get Organization
Retrieve the current user's organization details.
query Organization {
organization {
id
name
slug
email
phone
website
logo
address {
street
city
state
zipCode
}
timezone
currency
quickbooksConnected
stripeConnected
settings {
invoicePrefix
quotePrefix
defaultTaxId
autoSendInvoices
invoiceDueDays
}
subscription {
plan
status
currentPeriodEnd
}
createdAt
updatedAt
}
}Response:
{
"data": {
"organization": {
"id": "org_001",
"name": "Austin Pool Services",
"slug": "austin-pool-services",
"email": "info@austinpools.com",
"phone": "512-555-0100",
"website": "https://austinpools.com",
"logo": "https://storage.example.com/logos/org_001.png",
"address": {
"street": "100 Business Park Dr",
"city": "Austin",
"state": "TX",
"zipCode": "78701"
},
"timezone": "America/Chicago",
"currency": "USD",
"quickbooksConnected": true,
"stripeConnected": true,
"settings": {
"invoicePrefix": "INV",
"quotePrefix": "QUO",
"defaultTaxId": "tax_001",
"autoSendInvoices": true,
"invoiceDueDays": 30
},
"subscription": {
"plan": "PROFESSIONAL",
"status": "ACTIVE",
"currentPeriodEnd": "2024-02-15T00:00:00Z"
},
"createdAt": "2023-01-15T10:00:00Z",
"updatedAt": "2024-01-18T14:00:00Z"
}
}
}Update Organization
Update organization details.
mutation UpdateOrganization($input: UpdateOrganizationInput!) {
updateOrganization(input: $input) {
id
name
email
phone
website
updatedAt
}
}
# Variables
{
"input": {
"name": "Austin Pool Services LLC",
"phone": "512-555-0200",
"website": "https://www.austinpoolservices.com"
}
}Response:
{
"data": {
"updateOrganization": {
"id": "org_001",
"name": "Austin Pool Services LLC",
"email": "info@austinpools.com",
"phone": "512-555-0200",
"website": "https://www.austinpoolservices.com",
"updatedAt": "2024-01-20T10:00:00Z"
}
}
}Update Organization Settings
Update organization-specific settings.
mutation UpdateOrganizationSettings($input: UpdateOrganizationSettingsInput!) {
updateOrganizationSettings(input: $input) {
invoicePrefix
quotePrefix
defaultTaxId
autoSendInvoices
invoiceDueDays
emailFromName
emailReplyTo
}
}
# Variables
{
"input": {
"invoicePrefix": "APS-INV",
"quotePrefix": "APS-QUO",
"invoiceDueDays": 15,
"autoSendInvoices": false,
"emailFromName": "Austin Pool Services",
"emailReplyTo": "billing@austinpools.com"
}
}Response:
{
"data": {
"updateOrganizationSettings": {
"invoicePrefix": "APS-INV",
"quotePrefix": "APS-QUO",
"defaultTaxId": "tax_001",
"autoSendInvoices": false,
"invoiceDueDays": 15,
"emailFromName": "Austin Pool Services",
"emailReplyTo": "billing@austinpools.com"
}
}
}Organization Settings Reference
| Setting | Type | Description |
|---|---|---|
invoicePrefix | String | Prefix for invoice numbers |
quotePrefix | String | Prefix for quote numbers |
defaultTaxId | ID | Default tax to apply |
autoSendInvoices | Boolean | Auto-send invoices when created |
invoiceDueDays | Int | Days until invoice is due |
emailFromName | String | Sender name for emails |
emailReplyTo | String | Reply-to email address |
REST Endpoints
Upload organization logo.
POST
/organization/logoUpload organization logo
curl -X POST "https://api.poolservicemanager.com/organization/logo" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-F "file=@logo.png"Field Reference
| Field | Type | Description |
|---|---|---|
id | ID! | Unique identifier |
name | String! | Organization name |
slug | String! | URL-friendly identifier |
email | String(nullable) | Primary contact email |
phone | String(nullable) | Primary phone number |
website | String(nullable) | Website URL |
logo | String(nullable) | Logo image URL |
address | Address(nullable) | Business address |
timezone | String! | Organization timezone |
currency | String! | Default currency (e.g., USD) |
settings | OrganizationSettings! | Organization settings |
subscription | Subscription(nullable) | Active subscription |
quickbooksConnected | Boolean! | QuickBooks integration status |
stripeConnected | Boolean! | Stripe integration status |
createdAt | DateTime! | Creation timestamp |
updatedAt | DateTime! | Last update timestamp |