The Partners API gives you programmatic control over partner records in your PartnerOS organization. You can trigger AI-powered domain enrichment that populates industry data, employee counts, revenue estimates, and a multi-dimensional fit score. You can also submit partner applications on behalf of prospective partners and upload banner images for application pages. All partner endpoints that read or modify your organization’s data require a valid session. The application submission endpoint (Documentation Index
Fetch the complete documentation index at: https://docs.partneros.ai/llms.txt
Use this file to discover all available pages before exploring further.
POST /api/partners/applications/submit) is public and does not require authentication, because it is designed to be called by prospective partners filling out your published application form.
Analyze a partner
Runs AI-powered domain analysis on a partner record. The pipeline scrapes and interprets the partner’s web presence to populate enriched fields (industry, description, employees, companyRevenue, regions, languages, services) and computes a multi-dimensional fit score. Results are cached by domain for 7 days to avoid redundant LLM calls.
POST /api/partners/{partnerId}/analyze
Path parameters
UUID of the partner record to analyze. The partner must belong to your active organization.
Response fields
The updated partner record after enrichment.
Dimensional breakdown of the AI fit assessment.
Example
If the partner record has no
domain set, the analysis runs on company name alone and may produce lower-confidence results. Set a domain on the partner record before triggering analysis for best results.Submit a partner application
Accepts a public partner application submission. This endpoint is unauthenticated and is intended to be called from your published partner application form. You must provide the application’s public slug and valid form data that satisfies all required fields and agreements defined in the application builder.POST /api/partners/applications/submit
Body parameters
Public slug identifier of the partner application form. Found in your application’s share settings.
Key-value map of field responses. Keys are the
fieldKey values defined in the application builder. Values are strings (use "true" for checkbox fields that are checked).Array of agreement section IDs that the applicant has accepted. Required agreements must be present or the submission is rejected.
Optional affiliate tracking slug. When provided, the submission is attributed to the corresponding affiliate link and the link’s lead count is incremented.
Cloudflare Turnstile verification token. Required in production to prevent automated submissions.
Response fields
true when the submission was accepted and recorded.Custom confirmation message configured in the application’s content settings, displayed to the applicant after submission.
Example
Upload an application banner image
Uploads a banner image for a partner application page. A public URL is returned for use in the application builder.POST /api/partners/applications/banner
Accepts multipart/form-data. Requires authentication.
Form fields
The image file to upload. Accepted formats: JPEG, PNG, WebP, GIF. Maximum size: 5 MB.
Response fields
Storage path of the uploaded image within the banner bucket.
Publicly accessible URL of the uploaded banner image.
Always
"supabase".Example
This endpoint enforces a rate limit of 20 uploads per minute per user per organization. Exceeding this limit returns
429 Too Many Requests.Upload a legal template
Uploads a PDF legal template to Docuseal and records it as a reusable or one-off agreement template for a specific partner. Requires authentication and a non-partner role.POST /api/partners/legal-templates
Accepts multipart/form-data.
Form fields
The PDF document to use as the agreement template. Only PDF files are accepted.
UUID of the partner this template is associated with.
Display name of the template. Must be unique within your organization (case-insensitive).
Optional description of the template’s purpose.
Template scope:
"reusable" (available for multiple agreements) or "one_off" (single-use).JSON-encoded array of field placement objects that define where signature, date, and other fields appear on the PDF pages.
JSON-encoded array of signer role names (e.g.
["Partner", "PartnerOS"]).Response fields
true when the template was created successfully.The newly created legal template record.