openapi: 3.1.0 info: title: Open Calendar Notes Simple Drafts API description: Agorapulse's Open API documentation version: '1.0' security: - bearerAuth: [] tags: - name: Simple Drafts description: Publishing simple drafts management paths: /v1.0/publishing/organizations/{organizationId}/workspaces/{workspaceId}/simple-drafts: post: tags: - Simple Drafts summary: Create a simple draft description: Creates a new simple draft with text, media, and scheduling options in the specified workspace operationId: save_1 parameters: - name: organizationId in: path description: Organization identifier required: true - name: workspaceId in: path description: Workspace identifier required: true requestBody: description: Simple draft to create content: application/json: schema: $ref: '#/components/schemas/CreateSimpleDraftOpenRequest' required: true responses: '201': description: Simple draft created successfully content: application/json: schema: $ref: '#/components/schemas/CreateSimpleDraftOpenResponse' '400': description: Invalid request data '404': description: Organization or workspace not found components: schemas: CreateSimpleDraftOpenResponse: required: - groupOfPosts type: object properties: groupOfPosts: $ref: '#/components/schemas/GroupOfPostsSummary' description: Response after creating a simple draft GroupOfPostsSummary: required: - agorapulseLink - labels - profileScheduling - type - uid type: object properties: uid: minLength: 1 type: string agorapulseLink: type: string type: $ref: '#/components/schemas/PostType' labels: type: array items: type: string profileScheduling: type: array items: $ref: '#/components/schemas/GroupOfPostsSummary.ProfileSchedulingSummary' CreateSimpleDraftOpenRequest: required: - type type: object properties: text: type: string description: Text content of the draft example: This is my social media post type: type: object description: Type of the post allOf: - $ref: '#/components/schemas/PostType' - type: object link: type: string description: Link URL to be included in the post example: https://example.com labels: type: array description: Set of labels/tags to categorize the draft example: - marketing - promotion items: type: string mediaUrls: type: array description: List of media URLs (images, videos) to be included example: - https://example.com/image.jpg items: type: string scheduling: type: array description: Scheduling configuration for different profiles items: $ref: '#/components/schemas/CreateSimpleDraftOpenRequest.ProfileScheduling' description: Request to create a simple draft GroupOfPostsSummary.ProfileSchedulingSummary: required: - profile - schedulingSummary type: object properties: profile: $ref: '#/components/schemas/Profile' schedulingSummary: type: array items: $ref: '#/components/schemas/GroupOfPostsSummary.SchedulingSummary' Profile: required: - name - network - uid type: object properties: uid: minLength: 1 type: string name: type: string network: $ref: '#/components/schemas/Network' CreateSimpleDraftOpenRequest.ProfileScheduling: required: - profileUid type: object properties: profileUid: minLength: 1 type: string description: Unique identifier of the profile example: profile_123 publishingDates: type: array description: List of publishing dates in ISO-8601 format example: - '2024-12-25T10:00:00.000Z' - '2024-12-26T15:30:00.000Z' items: type: string format: date-time description: Scheduling configuration for a specific profile GroupOfPostsSummary.SchedulingSummary: required: - publishingDate - status - uid type: object properties: uid: type: string publishingDate: type: string format: date-time status: $ref: '#/components/schemas/PostStatus' PostType: type: string enum: - TEXT - PHOTO - VIDEO - PHOTO_AND_VIDEO - LINK - PDF Network: type: string enum: - BLUESKY - FACEBOOK - GOOGLE - INSTAGRAM - LINKEDIN - PINTEREST - THREADS - TIKTOK - TWITTER - YOUTUBE PostStatus: type: string enum: - DRAFT - PUBLISHED - FAILED - SCHEDULED securitySchemes: bearerAuth: type: apiKey name: X-API-KEY in: header