> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tembo.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Create a pin

> Pin a session, pull request, or project you have permission to access.



## OpenAPI

````yaml https://api.tembo.io/public-api/openapi/public post /v1/pins
openapi: 3.1.0
info:
  title: Tembo Public API
  description: >-
    Manage agents, sessions, repositories, and organization resources with the
    Tembo API.
  version: 1.0.0
servers:
  - url: https://api.tembo.io
    description: Tembo API
  - url: https://{deployment-origin}/api/public-api
    description: Self-hosted Tembo
    variables:
      deployment-origin:
        default: tembo.example.com
        description: Hostname of your self-hosted Tembo deployment
security: []
paths:
  /v1/pins:
    post:
      tags:
        - Pins
      summary: Create a pin
      description: Pin a session, pull request, or project you have permission to access.
      operationId: createPin
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                type:
                  type: string
                  enum:
                    - session
                    - pull_request
                    - project
                id:
                  type: string
                  format: uuid
                placement:
                  type: object
                  properties:
                    target:
                      type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - session
                            - pull_request
                            - project
                        id:
                          type: string
                          format: uuid
                      required:
                        - type
                        - id
                      additionalProperties: false
                    position:
                      type: string
                      enum:
                        - before
                        - after
                  required:
                    - target
                    - position
                  additionalProperties: false
              required:
                - type
                - id
              additionalProperties: false
      responses:
        '201':
          description: Create a pin
          content:
            application/json:
              schema:
                oneOf:
                  - type: object
                    properties:
                      type:
                        type: string
                        const: session
                      resource:
                        type: object
                        properties:
                          id:
                            type: string
                          title:
                            type: string
                          kind:
                            type: string
                          externalId:
                            type:
                              - string
                              - 'null'
                          agentId:
                            type:
                              - string
                              - 'null'
                          createdAt:
                            type: string
                            format: date-time
                          updatedAt:
                            type: string
                            format: date-time
                          lastQueuedAt:
                            type:
                              - string
                              - 'null'
                            format: date-time
                          createdBy:
                            type:
                              - string
                              - 'null'
                          projectId:
                            type:
                              - string
                              - 'null'
                          level:
                            type: integer
                          visibility:
                            type: string
                            enum:
                              - public
                              - private
                            default: public
                          vm:
                            type:
                              - object
                              - 'null'
                            properties:
                              id:
                                type: string
                              status:
                                type: string
                                enum:
                                  - Initializing
                                  - Running
                                  - Warm
                                  - Stopping
                                  - Idle
                                  - Terminated
                                default: Running
                            required:
                              - id
                              - status
                            additionalProperties: false
                          sessionSource:
                            type: object
                            properties:
                              type:
                                type: string
                              name:
                                type: string
                              sessionSourceCodeRepositories:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    codeRepository:
                                      type: object
                                      properties:
                                        id:
                                          type: string
                                        name:
                                          type: string
                                        integration:
                                          type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - github
                                                - gitlab
                                                - bitbucket
                                          required:
                                            - type
                                          additionalProperties: false
                                      required:
                                        - id
                                        - name
                                        - integration
                                      additionalProperties: false
                                  required:
                                    - codeRepository
                                  additionalProperties: false
                            required:
                              - type
                              - name
                              - sessionSourceCodeRepositories
                            additionalProperties: false
                          pullRequests:
                            type: array
                            items:
                              type: object
                              properties:
                                status:
                                  type: string
                                  enum:
                                    - open
                                    - merged
                                    - closed
                                  default: open
                                diffSummary:
                                  type:
                                    - object
                                    - 'null'
                                  properties:
                                    additions:
                                      type: number
                                    deletions:
                                      type: number
                                  required:
                                    - additions
                                    - deletions
                                  additionalProperties: false
                              required:
                                - status
                                - diffSummary
                              additionalProperties: false
                          diffSummary:
                            type:
                              - object
                              - 'null'
                            properties:
                              additions:
                                type: number
                              deletions:
                                type: number
                            required:
                              - additions
                              - deletions
                            additionalProperties: false
                          state:
                            type: object
                            properties:
                              current:
                                type: string
                                enum:
                                  - inProgress
                                  - queued
                                  - completed
                                  - failed
                                  - cancelled
                              isQueued:
                                type: boolean
                              isCancelled:
                                type: boolean
                              isCompleted:
                                type: boolean
                              isFailed:
                                type: boolean
                              inProgress:
                                type: boolean
                            required:
                              - isQueued
                              - isCancelled
                              - isCompleted
                              - isFailed
                              - inProgress
                            additionalProperties: false
                        required:
                          - id
                          - title
                          - kind
                          - externalId
                          - agentId
                          - createdAt
                          - updatedAt
                          - lastQueuedAt
                          - createdBy
                          - projectId
                          - level
                          - visibility
                          - vm
                          - sessionSource
                          - pullRequests
                          - diffSummary
                          - state
                        additionalProperties: false
                    required:
                      - type
                      - resource
                    additionalProperties: false
                  - type: object
                    properties:
                      type:
                        type: string
                        const: pull_request
                      resource:
                        type: object
                        properties:
                          id:
                            type: string
                          url:
                            type: string
                          title:
                            type:
                              - string
                              - 'null'
                          status:
                            type: string
                            enum:
                              - open
                              - merged
                              - closed
                            default: open
                          isDraft:
                            type: boolean
                          author:
                            type:
                              - object
                              - 'null'
                            properties:
                              login:
                                type:
                                  - string
                                  - 'null'
                              avatarUrl:
                                type:
                                  - string
                                  - 'null'
                            required:
                              - login
                              - avatarUrl
                            additionalProperties: false
                          codeRepository:
                            type:
                              - object
                              - 'null'
                            properties:
                              name:
                                type: string
                              owner:
                                type:
                                  - string
                                  - 'null'
                              integration:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - github
                                      - gitlab
                                      - bitbucket
                                required:
                                  - type
                                additionalProperties: false
                            required:
                              - name
                              - owner
                              - integration
                            additionalProperties: false
                        required:
                          - id
                          - url
                          - title
                          - status
                          - isDraft
                          - author
                          - codeRepository
                        additionalProperties: false
                    required:
                      - type
                      - resource
                    additionalProperties: false
                  - type: object
                    properties:
                      type:
                        type: string
                        const: project
                      resource:
                        type: object
                        properties:
                          id:
                            type: string
                          name:
                            type: string
                          icon:
                            type: string
                            enum:
                              - folder
                              - code
                              - terminal
                              - book
                              - brain
                              - bug
                              - building
                              - cloud
                              - globe
                              - idea
                              - tools
                              - magic
                              - processor
                              - sandbox
                              - server
                              - tasks
                              - tactics
                              - images
                              - database
                              - api
                              - mobile
                              - package
                          color:
                            type: string
                            enum:
                              - neutral
                              - red
                              - orange
                              - yellow
                              - green
                              - teal
                              - blue
                              - purple
                              - pink
                        required:
                          - id
                          - name
                          - icon
                          - color
                        additionalProperties: false
                    required:
                      - type
                      - resource
                    additionalProperties: false
        '400':
          description: Validation error or missing caller scope
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                  - error
                additionalProperties: false
        '404':
          description: Resource not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                  - error
                additionalProperties: false
        '409':
          description: Pin limit reached
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                  - error
                additionalProperties: false
        '500':
          description: Pin operation failed
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                  - error
                additionalProperties: false
      security:
        - apiKey: []
      x-codeSamples:
        - lang: typescript
          label: TypeScript SDK
          source: |
            import Tembo from '@tembo-io/sdk';

            const client = new Tembo();

            const pin = await client.pins.create({
              type: 'session',
              id: '7c9e6679-7425-40de-944b-e07fc1f90ae7',
            });
components:
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.