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

# Retrieve a placement

> Retrieves the placement with the specified ID. Includes custom attribute values, fee splits, and placement metadata.



## OpenAPI

````yaml /openapi-private.json get /placements/{id}
openapi: 3.1.0
info:
  title: Spott API Reference
  version: '0.1'
servers:
  - url: https://api.gospott.com
security: []
tags: []
paths:
  /placements/{id}:
    get:
      tags:
        - Placements
      summary: Retrieve a placement
      description: >-
        Retrieves the placement with the specified ID. Includes custom attribute
        values, fee splits, and placement metadata.
      operationId: getPlacement
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
      responses:
        '200':
          description: Successfully retrieved placement details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlacementDto'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/ValidationExceptionDto'
                  - $ref: '#/components/schemas/ExceptionBaseDto'
        '401':
          description: Unauthorized - invalid or missing authentication
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionBaseDto'
        '404':
          description: Placement not found
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/ExceptionBaseDto'
                  - type: object
                    properties:
                      statusCode:
                        type: number
                        example: 404
                      message:
                        type: string
                        example: Placement not found
                      error:
                        type: string
                        example: Not Found
        '500':
          description: Error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionBaseDto'
      security:
        - x-api-key: []
components:
  schemas:
    PlacementDto:
      type: object
      properties:
        id:
          type: string
        templateId:
          type: string
        type:
          type: string
          enum:
            - CONTINGENT
            - INTERIM
            - RETAINED
        placedByUser:
          $ref: '#/components/schemas/PlacementUserBadgeDto'
        placedAt:
          $ref: '#/components/schemas/DateISO'
        startDate:
          anyOf:
            - $ref: '#/components/schemas/DateISO'
            - type: 'null'
        endDate:
          anyOf:
            - $ref: '#/components/schemas/DateISO'
            - type: 'null'
        fee:
          anyOf:
            - $ref: '#/components/schemas/PlacementFeeDto'
            - type: 'null'
        extensionOf:
          anyOf:
            - $ref: '#/components/schemas/PlacementExtensionOfDto'
            - type: 'null'
        applicationId:
          type: string
        attributeValues:
          type: array
          items:
            $ref: '#/components/schemas/PlacementAttributeValueDto'
      required:
        - id
        - templateId
        - type
        - placedByUser
        - placedAt
        - startDate
        - endDate
        - fee
        - extensionOf
        - applicationId
        - attributeValues
      id: PrivatePlacementDto
    ValidationExceptionDto:
      type: object
      properties:
        status:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        message:
          type: string
        requestId:
          type: string
        errors:
          type: array
          items:
            $ref: '#/components/schemas/ValidationIssueDto'
      required:
        - status
        - message
        - requestId
        - errors
      id: ValidationExceptionDto
    ExceptionBaseDto:
      type: object
      properties:
        status:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        message:
          type: string
        requestId:
          type: string
      required:
        - status
        - message
        - requestId
      id: ExceptionBaseDto
    PlacementUserBadgeDto:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        avatarUrl:
          anyOf:
            - type: string
            - type: 'null'
        deactivatedAt:
          anyOf:
            - $ref: '#/components/schemas/DateISO'
            - type: 'null'
      required:
        - id
        - name
        - avatarUrl
        - deactivatedAt
      id: PrivatePlacementUserBadgeDto
    DateISO:
      id: DateISO
      format: date-time
      anyOf:
        - type: string
          format: date-time
          pattern: >-
            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
        - type: string
          format: date
          pattern: >-
            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
    PlacementFeeDto:
      type: object
      properties:
        id:
          type: string
        net:
          anyOf:
            - $ref: '#/components/schemas/PlacementMonetaryAmountDto'
            - type: 'null'
        splits:
          type: array
          items:
            $ref: '#/components/schemas/PlacementFeeSplitDto'
        details:
          description: >-
            Experimental. The structure of this field is intentionally
            unspecified and may change without notice.
          anyOf:
            - type: object
              propertyNames:
                type: string
              additionalProperties: {}
            - type: 'null'
      required:
        - id
        - net
        - splits
      id: PrivatePlacementFeeDto
    PlacementExtensionOfDto:
      type: object
      properties:
        id:
          type: string
      required:
        - id
      id: PrivatePlacementExtensionOfDto
    PlacementAttributeValueDto:
      type: object
      properties:
        id:
          type: string
        attributeDefinitionId:
          type: string
        value:
          $ref: '#/components/schemas/CustomAttributeTypeDto'
      required:
        - id
        - attributeDefinitionId
        - value
      id: PrivatePlacementAttributeValueDto
    ValidationIssueDto:
      oneOf:
        - $ref: '#/components/schemas/ValidationRequiredDto'
        - $ref: '#/components/schemas/ValidationInvalidEmptyStringDto'
        - $ref: '#/components/schemas/ValidationUnknownFieldDto'
        - $ref: '#/components/schemas/ValidationTooSmallDto'
        - $ref: '#/components/schemas/ValidationTooBigDto'
        - $ref: '#/components/schemas/ValidationInvalidTypeDto'
        - $ref: '#/components/schemas/ValidationInvalidValueDto'
        - $ref: '#/components/schemas/ValidationInvalidEmailDto'
        - $ref: '#/components/schemas/ValidationInvalidUuidDto'
        - $ref: '#/components/schemas/ValidationInvalidUrlDto'
        - $ref: '#/components/schemas/ValidationInvalidDatetimeDto'
        - $ref: '#/components/schemas/ValidationInvalidDateDto'
        - $ref: '#/components/schemas/ValidationInvalidTimeDto'
        - $ref: '#/components/schemas/ValidationInvalidDurationDto'
        - $ref: '#/components/schemas/ValidationInvalidIpv4Dto'
        - $ref: '#/components/schemas/ValidationInvalidIpv6Dto'
        - $ref: '#/components/schemas/ValidationInvalidJsonStringDto'
        - $ref: '#/components/schemas/ValidationInvalidJwtDto'
        - $ref: '#/components/schemas/ValidationInvalidRegexDto'
        - $ref: '#/components/schemas/ValidationInvalidPhoneNumberDto'
        - $ref: '#/components/schemas/ValidationInvalidDomainDto'
        - $ref: '#/components/schemas/ValidationInvalidHttpsUrlDto'
        - $ref: '#/components/schemas/ValidationInvalidTimezoneDto'
        - $ref: '#/components/schemas/ValidationPaginationOffsetExceededDto'
      id: ValidationIssueDto
    PlacementMonetaryAmountDto:
      type: object
      properties:
        amount:
          type: number
          example: 10000
        currency:
          $ref: '#/components/schemas/DmSupportedCurrency'
          example: EUR
      required:
        - amount
        - currency
      id: PrivatePlacementMonetaryAmountDto
    PlacementFeeSplitDto:
      type: object
      properties:
        user:
          $ref: '#/components/schemas/PlacementUserBadgeDto'
        percentage:
          type: number
          minimum: 0
          maximum: 1
      required:
        - user
        - percentage
      id: PrivatePlacementFeeSplitDto
    CustomAttributeTypeDto:
      oneOf:
        - type: object
          properties:
            viewType:
              type: string
              enum:
                - customText
            text:
              anyOf:
                - type: string
                - type: 'null'
          required:
            - viewType
            - text
        - type: object
          properties:
            viewType:
              type: string
              enum:
                - customNumber
            number:
              anyOf:
                - type: number
                - type: 'null'
          required:
            - viewType
            - number
        - type: object
          properties:
            viewType:
              type: string
              enum:
                - customCheckbox
            checked:
              anyOf:
                - type: boolean
                - type: 'null'
          required:
            - viewType
            - checked
        - type: object
          properties:
            viewType:
              type: string
              enum:
                - customDate
            date:
              anyOf:
                - $ref: '#/components/schemas/DateISO'
                - type: 'null'
          required:
            - viewType
            - date
        - type: object
          properties:
            viewType:
              type: string
              enum:
                - customTimestamp
            timestamp:
              anyOf:
                - $ref: '#/components/schemas/DateISO'
                - type: 'null'
          required:
            - viewType
            - timestamp
        - type: object
          properties:
            viewType:
              type: string
              enum:
                - customRating
            rating:
              anyOf:
                - type: number
                - type: 'null'
          required:
            - viewType
            - rating
        - type: object
          properties:
            viewType:
              type: string
              enum:
                - customSelect
            select:
              anyOf:
                - type: string
                - type: 'null'
          required:
            - viewType
            - select
        - type: object
          properties:
            viewType:
              type: string
              enum:
                - customMultiSelect
            multiSelect:
              type: array
              items:
                type: string
          required:
            - viewType
            - multiSelect
        - type: object
          properties:
            viewType:
              type: string
              enum:
                - customCurrency
            monetaryAmount:
              anyOf:
                - type: object
                  properties:
                    amount:
                      type: number
                    currency:
                      $ref: '#/components/schemas/DmCurrency'
                  required:
                    - amount
                    - currency
                - type: 'null'
          required:
            - viewType
            - monetaryAmount
        - type: object
          properties:
            viewType:
              type: string
              enum:
                - customDateRange
            dateRange:
              anyOf:
                - type: object
                  properties:
                    startDate:
                      $ref: '#/components/schemas/DateISO'
                    endDate:
                      anyOf:
                        - $ref: '#/components/schemas/DateISO'
                        - type: 'null'
                  required:
                    - startDate
                    - endDate
                - type: 'null'
          required:
            - viewType
            - dateRange
        - type: object
          properties:
            viewType:
              type: string
              enum:
                - customDuration
            duration:
              anyOf:
                - type: number
                - type: 'null'
          required:
            - viewType
            - duration
        - type: object
          properties:
            viewType:
              type: string
              enum:
                - customUrl
            url:
              anyOf:
                - type: string
                - type: 'null'
          required:
            - viewType
            - url
        - type: object
          properties:
            viewType:
              type: string
              enum:
                - customEntity
            type:
              type: string
              enum:
                - user
            id:
              anyOf:
                - type: string
                - type: 'null'
            entity:
              anyOf:
                - type: object
                  properties:
                    id:
                      type: string
                    name:
                      type: string
                    avatarUrl:
                      anyOf:
                        - type: string
                        - type: 'null'
                    deactivatedAt:
                      anyOf:
                        - $ref: '#/components/schemas/DateISO'
                        - type: 'null'
                  required:
                    - id
                    - name
                    - avatarUrl
                    - deactivatedAt
                - type: 'null'
          required:
            - viewType
            - type
            - id
        - type: object
          properties:
            viewType:
              type: string
              enum:
                - customMultiEntity
            type:
              type: string
              enum:
                - user
            ids:
              type: array
              items:
                type: string
            entities:
              type: array
              items:
                type: object
                properties:
                  id:
                    type: string
                  name:
                    type: string
                  avatarUrl:
                    anyOf:
                      - type: string
                      - type: 'null'
                  deactivatedAt:
                    anyOf:
                      - $ref: '#/components/schemas/DateISO'
                      - type: 'null'
                required:
                  - id
                  - name
                  - avatarUrl
                  - deactivatedAt
          required:
            - viewType
            - type
            - ids
      id: PrivateCustomAttributeTypeDto
    ValidationRequiredDto:
      type: object
      properties:
        code:
          type: string
          enum:
            - REQUIRED
        path:
          type: string
        message:
          type: string
        received: {}
      required:
        - code
        - path
        - message
      id: ValidationRequiredDto
    ValidationInvalidEmptyStringDto:
      type: object
      properties:
        code:
          type: string
          enum:
            - INVALID_EMPTY_STRING
        path:
          type: string
        message:
          type: string
        received: {}
      required:
        - code
        - path
        - message
      id: ValidationInvalidEmptyStringDto
    ValidationUnknownFieldDto:
      type: object
      properties:
        code:
          type: string
          enum:
            - UNKNOWN_FIELD
        path:
          type: string
        message:
          type: string
        received: {}
        keys:
          type: array
          items:
            type: string
      required:
        - code
        - path
        - message
        - keys
      id: ValidationUnknownFieldDto
    ValidationTooSmallDto:
      type: object
      properties:
        code:
          type: string
          enum:
            - TOO_SMALL
        path:
          type: string
        message:
          type: string
        received: {}
        minimum:
          type: number
        inclusive:
          type: boolean
        origin:
          type: string
      required:
        - code
        - path
        - message
        - minimum
        - inclusive
        - origin
      id: ValidationTooSmallDto
    ValidationTooBigDto:
      type: object
      properties:
        code:
          type: string
          enum:
            - TOO_BIG
        path:
          type: string
        message:
          type: string
        received: {}
        maximum:
          type: number
        inclusive:
          type: boolean
        origin:
          type: string
      required:
        - code
        - path
        - message
        - maximum
        - inclusive
        - origin
      id: ValidationTooBigDto
    ValidationInvalidTypeDto:
      type: object
      properties:
        code:
          type: string
          enum:
            - INVALID_TYPE
        path:
          type: string
        message:
          type: string
        received: {}
        expected:
          type: string
      required:
        - code
        - path
        - message
        - expected
      id: ValidationInvalidTypeDto
    ValidationInvalidValueDto:
      type: object
      properties:
        code:
          type: string
          enum:
            - INVALID_VALUE
        path:
          type: string
        message:
          type: string
        received: {}
        expected: {}
      required:
        - code
        - path
        - message
      id: ValidationInvalidValueDto
    ValidationInvalidEmailDto:
      type: object
      properties:
        code:
          type: string
          enum:
            - INVALID_EMAIL
        path:
          type: string
        message:
          type: string
        received: {}
      required:
        - code
        - path
        - message
      id: ValidationInvalidEmailDto
    ValidationInvalidUuidDto:
      type: object
      properties:
        code:
          type: string
          enum:
            - INVALID_UUID
        path:
          type: string
        message:
          type: string
        received: {}
      required:
        - code
        - path
        - message
      id: ValidationInvalidUuidDto
    ValidationInvalidUrlDto:
      type: object
      properties:
        code:
          type: string
          enum:
            - INVALID_URL
        path:
          type: string
        message:
          type: string
        received: {}
      required:
        - code
        - path
        - message
      id: ValidationInvalidUrlDto
    ValidationInvalidDatetimeDto:
      type: object
      properties:
        code:
          type: string
          enum:
            - INVALID_DATETIME
        path:
          type: string
        message:
          type: string
        received: {}
      required:
        - code
        - path
        - message
      id: ValidationInvalidDatetimeDto
    ValidationInvalidDateDto:
      type: object
      properties:
        code:
          type: string
          enum:
            - INVALID_DATE
        path:
          type: string
        message:
          type: string
        received: {}
      required:
        - code
        - path
        - message
      id: ValidationInvalidDateDto
    ValidationInvalidTimeDto:
      type: object
      properties:
        code:
          type: string
          enum:
            - INVALID_TIME
        path:
          type: string
        message:
          type: string
        received: {}
      required:
        - code
        - path
        - message
      id: ValidationInvalidTimeDto
    ValidationInvalidDurationDto:
      type: object
      properties:
        code:
          type: string
          enum:
            - INVALID_DURATION
        path:
          type: string
        message:
          type: string
        received: {}
      required:
        - code
        - path
        - message
      id: ValidationInvalidDurationDto
    ValidationInvalidIpv4Dto:
      type: object
      properties:
        code:
          type: string
          enum:
            - INVALID_IPV4
        path:
          type: string
        message:
          type: string
        received: {}
      required:
        - code
        - path
        - message
      id: ValidationInvalidIpv4Dto
    ValidationInvalidIpv6Dto:
      type: object
      properties:
        code:
          type: string
          enum:
            - INVALID_IPV6
        path:
          type: string
        message:
          type: string
        received: {}
      required:
        - code
        - path
        - message
      id: ValidationInvalidIpv6Dto
    ValidationInvalidJsonStringDto:
      type: object
      properties:
        code:
          type: string
          enum:
            - INVALID_JSON_STRING
        path:
          type: string
        message:
          type: string
        received: {}
      required:
        - code
        - path
        - message
      id: ValidationInvalidJsonStringDto
    ValidationInvalidJwtDto:
      type: object
      properties:
        code:
          type: string
          enum:
            - INVALID_JWT
        path:
          type: string
        message:
          type: string
        received: {}
      required:
        - code
        - path
        - message
      id: ValidationInvalidJwtDto
    ValidationInvalidRegexDto:
      type: object
      properties:
        code:
          type: string
          enum:
            - INVALID_REGEX
        path:
          type: string
        message:
          type: string
        received: {}
      required:
        - code
        - path
        - message
      id: ValidationInvalidRegexDto
    ValidationInvalidPhoneNumberDto:
      type: object
      properties:
        code:
          type: string
          enum:
            - INVALID_PHONE_NUMBER
        path:
          type: string
        message:
          type: string
        received: {}
      required:
        - code
        - path
        - message
      id: ValidationInvalidPhoneNumberDto
    ValidationInvalidDomainDto:
      type: object
      properties:
        code:
          type: string
          enum:
            - INVALID_DOMAIN
        path:
          type: string
        message:
          type: string
        received: {}
      required:
        - code
        - path
        - message
      id: ValidationInvalidDomainDto
    ValidationInvalidHttpsUrlDto:
      type: object
      properties:
        code:
          type: string
          enum:
            - INVALID_HTTPS_URL
        path:
          type: string
        message:
          type: string
        received: {}
      required:
        - code
        - path
        - message
      id: ValidationInvalidHttpsUrlDto
    ValidationInvalidTimezoneDto:
      type: object
      properties:
        code:
          type: string
          enum:
            - INVALID_TIMEZONE
        path:
          type: string
        message:
          type: string
        received: {}
      required:
        - code
        - path
        - message
      id: ValidationInvalidTimezoneDto
    ValidationPaginationOffsetExceededDto:
      type: object
      properties:
        code:
          type: string
          enum:
            - PAGINATION_OFFSET_EXCEEDED
        path:
          type: string
        message:
          type: string
        received: {}
        maximum:
          type: number
      required:
        - code
        - path
        - message
        - maximum
      id: ValidationPaginationOffsetExceededDto
    DmSupportedCurrency:
      type: string
      enum:
        - EUR
        - GBP
        - USD
        - ZAR
        - AUD
        - CHF
        - SAR
        - AED
        - EGP
        - HUF
        - RON
        - BGN
        - CZK
        - PLN
        - NOK
        - SEK
        - DKK
        - CAD
        - HKD
        - JPY
        - THB
        - CNY
        - INR
        - SGD
        - MYR
        - QAR
        - PHP
        - LKR
        - KWD
        - PKR
        - MOP
        - IDR
        - VND
        - KRW
        - MXN
        - BRL
        - ARS
        - NZD
        - TWD
        - ILS
        - TRY
        - RUB
        - MDL
        - MUR
        - OMR
      id: DmSupportedCurrency
    DmCurrency:
      type: string
      enum:
        - AED
        - AFN
        - ALL
        - AMD
        - ANG
        - AOA
        - ARS
        - AUD
        - AWG
        - AZN
        - BAM
        - BBD
        - BDT
        - BGN
        - BHD
        - BIF
        - BMD
        - BND
        - BOB
        - BRL
        - BSD
        - BTC
        - BTN
        - BWP
        - BYN
        - BZD
        - CAD
        - CDF
        - CHF
        - CLF
        - CLP
        - CNH
        - CNY
        - COP
        - CRC
        - CUC
        - CUP
        - CVE
        - CZK
        - DJF
        - DKK
        - DOP
        - DZD
        - EGP
        - ERN
        - ETB
        - EUR
        - FJD
        - FKP
        - GBP
        - GEL
        - GGP
        - GHS
        - GIP
        - GMD
        - GNF
        - GTQ
        - GYD
        - HKD
        - HNL
        - HRK
        - HTG
        - HUF
        - IDR
        - ILS
        - IMP
        - INR
        - IQD
        - IRR
        - ISK
        - JEP
        - JMD
        - JOD
        - JPY
        - KES
        - KGS
        - KHR
        - KMF
        - KPW
        - KRW
        - KWD
        - KYD
        - KZT
        - LAK
        - LBP
        - LKR
        - LRD
        - LSL
        - LYD
        - MAD
        - MDL
        - MGA
        - MKD
        - MMK
        - MNT
        - MOP
        - MRU
        - MUR
        - MVR
        - MWK
        - MXN
        - MYR
        - MZN
        - NAD
        - NGN
        - NIO
        - NOK
        - NPR
        - NZD
        - OMR
        - PAB
        - PEN
        - PGK
        - PHP
        - PKR
        - PLN
        - PYG
        - QAR
        - RON
        - RSD
        - RUB
        - RWF
        - SAR
        - SBD
        - SCR
        - SDG
        - SEK
        - SGD
        - SHP
        - SLE
        - SLL
        - SOS
        - SRD
        - SSP
        - STD
        - STN
        - SVC
        - SYP
        - SZL
        - THB
        - TJS
        - TMT
        - TND
        - TOP
        - TRY
        - TTD
        - TWD
        - TZS
        - UAH
        - UGX
        - USD
        - UYU
        - UZS
        - VEF
        - VES
        - VND
        - VUV
        - WST
        - XAF
        - XAG
        - XAU
        - XCD
        - XCG
        - XDR
        - XOF
        - XPD
        - XPF
        - XPT
        - YER
        - ZAR
        - ZMW
        - ZWG
        - ZWL
      id: DmCurrency
  securitySchemes:
    x-api-key:
      type: apiKey
      name: x-api-key
      in: header
      description: >-
        API key for authentication. Get your API key from Settings → API Keys in
        your Spott dashboard.

````