canonical: https://jentic.com/apis/ocoya.com/ocoya

# Ocoya API

Ocoya is a social media management platform with AI-assisted copy and graphics generation, and the public API exposes programmatic control over the core publishing surface. Endpoints cover the authenticated user, workspaces, connected social profiles, and post creation and retrieval. The integration is suited to teams that want to schedule cross-channel content from outside the Ocoya UI or feed AI-generated assets into a single publishing pipeline.

## For AI agents

Schedule and retrieve social media posts, manage workspaces, and read connected social profiles through Ocoya's publishing API.

## Scope

Does not handle ad spend management, social listening, or analytics reporting - use for Ocoya post scheduling, workspace, and social profile operations only.

## Capabilities

- Read the authenticated user's Ocoya profile via /me
- List workspaces accessible to the API key holder
- Read connected social profiles inside a workspace across networks
- Schedule a new post to one or more social profiles via /post
- Retrieve a previously created post by ID for status checks
- Feed AI-generated copy or graphics into a Ocoya publishing pipeline

## Use cases

### Cross-Channel Post Scheduling

Schedule a single piece of content across multiple connected networks by listing the workspace's social profiles and submitting a /post request that targets the chosen profile IDs. Ocoya handles channel-specific rendering and queue timing. Useful for content teams that want to drive scheduling from a CMS, AI workflow, or bespoke calendar instead of clicking through the Ocoya UI.

Example prompt: Call /social-profiles, pick the LinkedIn and X profiles, then POST to /post with caption text and a future scheduled time.

### AI-Generated Content Pipeline

Feed AI-generated captions and graphics into Ocoya by having an upstream agent write the copy, then calling /post with the generated text and an asset URL to schedule the publish. The workflow keeps the human-in-the-loop step inside Ocoya for review while letting an agent handle bulk drafting. Best suited to founders and small marketing teams running high-volume social calendars.

Example prompt: POST to /post with caption 'Launch day is here' and a scheduled time, then call /post/{postId} to confirm it was queued.

### Workspace and Profile Audit

Audit which social profiles are connected to which Ocoya workspaces by reading /workspaces and /social-profiles. Useful for agencies running multiple client workspaces who need to confirm coverage and account ownership before a campaign starts. The endpoints return structured records that map cleanly into a CRM or operations spreadsheet.

Example prompt: Call /workspaces and for each one call /social-profiles, then return a table of workspace name and connected networks.

### AI Agent Social Concierge

An AI agent embedded in a marketing chatbot can schedule posts on demand by routing to Ocoya through Jentic - the user types 'post this announcement on LinkedIn at 3pm Friday' and the agent finds the operation by intent, picks the right social profile, and submits the /post call. Credentials stay in your Jentic One instance throughout.

Example prompt: Use Jentic to call /social-profiles, choose the LinkedIn profile, and POST to /post with caption and scheduled time.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /me | Authenticated user profile |
| GET | /workspaces | List accessible workspaces |
| GET | /social-profiles | List connected social profiles |
| POST | /post | Schedule a new post |
| GET | /post/{postId} | Retrieve a post by ID |

## Key resources

- **Posts** — Schedule new posts and retrieve existing posts by ID.
- **Social Profiles** — Read connected social network profiles inside a workspace.
- **Workspaces** — List Ocoya workspaces accessible to the API key.
- **Users** — Read the authenticated user's Ocoya profile via /me.

## Why Jentic

- **Setup:** Wiring the Ocoya API by hand means holding an API key, adding it to the X-API-Key header on every call against app.ocoya.com, and coding your own retry and rate-limit handling. Through Jentic you install once, import the Ocoya API from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** Ocoya's post targets travel in the request rather than as an owned id in the path, so scope it by operation: limit the agent to the operations it needs, such as reading the account, listing workspaces and social profiles, or reading a post by id, and leave the create-post operation out unless you add it. You choose which operations it may call, so nothing beyond the allowed set runs.
- **Credential handling:** Your Ocoya API key is stored once, encrypted, by your own Jentic One instance and injected into the X-API-Key header at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'schedule a social media post', and Jentic returns the matching Ocoya operation with its input schema so the agent calls the right endpoint without browsing docs.

## Related APIs

- **Buffer API** — Schedule and analyse posts across multiple social networks
- **Sprout Social API** — Enterprise social management with publishing, listening, and reporting
- **Mailchimp API** — Email and audience automation

## FAQ

### What authentication does the Ocoya API use?

An API key supplied via the X-API-Key header. Jentic stores the key encrypted in its vault and injects it at execution time so the raw secret never enters the agent's prompt.

### Can I schedule a post to multiple networks at once with Ocoya?

Yes. Call /social-profiles to list the connected networks, then POST to /post with the IDs of every profile you want to publish to in the same call. Ocoya queues per-channel publication based on the scheduled time you supply.

### What are the rate limits for the Ocoya API?

Ocoya does not publish a hard quota in the spec. Confirm your plan limits in the Ocoya dashboard before running bulk scheduling and respect any 429 responses with exponential backoff.

### How do I retrieve a scheduled post status through Jentic?

Search Jentic for 'get an Ocoya post by ID', load the schema for /post/{postId}, and execute with the post ID. With pip install jentic the call is await client.search(...), await client.load(...), await client.execute(...) inside an asyncio.run wrapper.

### Does the API expose AI copy or image generation directly?

The public API in this spec covers publishing primitives - workspaces, social profiles, and posts. Generate the AI copy or imagery upstream in your own pipeline, then submit the finished asset to /post.

### Can I list all workspaces my Ocoya key has access to?

Yes. /workspaces returns every workspace tied to the authenticated key, which is essential for agencies operating across multiple client environments.

### Can I limit what my agent is allowed to do with the Ocoya API?

Yes. Because you run Jentic One yourself, your own rules decide which Ocoya operations the agent may call and which stored credentials it may use. Ocoya's post targets travel in the request body rather than as an owned ID in the path, so you scope by operation: allow only what the agent needs, such as reading the account via /me, listing /workspaces and /social-profiles, or reading a post with /post/{postId}, and leave the create-post /post operation out of the allowed set unless you add it. Nothing beyond the operations you permit will run.
