Instagram · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Instagram Graph Publishing API

5 actions 5 updates phrasing extends openapi/instagram-publishing-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Instagram's API. It is a proposal applied on top of the contract, not a document Instagram publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 5

$.info
$.paths['/{user_id}/media'].post
$.paths['/{user_id}/media_publish'].post
$.paths['/{user_id}/content_publishing_limit'].get
$.paths['/{container_id}'].get

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for Instagram Graph Publishing API
  version: 1.0.0
extends: openapi/instagram-publishing-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-10-01'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 4
- target: $.paths['/{user_id}/media'].post
  update:
    x-apievangelist-phrasing:
      intent: Prepare a photo or video for publishing
      effect: write
      questions:
      - What's the first step to post a photo to Instagram through the API?
      - Can I add a caption, location and user tags when staging a post?
      - How do I stage an image as one item of a carousel before publishing?
      instructions:
      - text: Create a media container for account {user_id} from image {image_url} with caption {caption}.
        slots:
          user_id: path.user_id
          image_url: requestBody.image_url
          caption: requestBody.caption
      - text: Stage video {video_url} of type {media_type} for account {user_id}.
        slots:
          video_url: requestBody.video_url
          media_type: requestBody.media_type
          user_id: path.user_id
      - text: Prepare image {image_url} as a carousel item ({is_carousel_item}) for account {user_id}.
        slots:
          image_url: requestBody.image_url
          is_carousel_item: requestBody.is_carousel_item
          user_id: path.user_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/{user_id}/media_publish'].post
  update:
    x-apievangelist-phrasing:
      intent: Publish a prepared media container
      effect: write
      questions:
      - Once my container is ready, how do I actually make the post go live?
      - What's the final step of the two-step Instagram publishing flow?
      instructions:
      - text: Publish container {creation_id} to account {user_id}.
        slots:
          creation_id: requestBody.creation_id
          user_id: path.user_id
      - text: Make staged post {creation_id} live on account {user_id}.
        slots:
          creation_id: requestBody.creation_id
          user_id: path.user_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/{user_id}/content_publishing_limit'].get
  update:
    x-apievangelist-phrasing:
      intent: Check how many posts I can still publish
      effect: read
      questions:
      - How close am I to the publishing rate limit on my account?
      - Can I check my current content publishing usage before posting more?
      instructions:
      - text: Show the content publishing limit usage for account {user_id}.
        slots:
          user_id: path.user_id
      - text: Check the publishing quota for account {user_id} with fields {fields}.
        slots:
          user_id: path.user_id
          fields: query.fields
      method: generated
      generated: '2026-10-01'
- target: $.paths['/{container_id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Check the status of a media container
      effect: read
      questions:
      - Is my uploaded video container finished processing and ready to publish?
      - Why hasn't my staged post published yet — what status is its container in?
      instructions:
      - text: Check the publishing status of container {container_id}.
        slots:
          container_id: path.container_id
      - text: Get fields {fields} for media container {container_id}.
        slots:
          fields: query.fields
          container_id: path.container_id
      method: generated
      generated: '2026-10-01'