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

# get a person content

> This API operation retrieve an existing person.




## OpenAPI

````yaml /api-reference/persons-sites-service-offers.yaml get /persons/{person-id}
openapi: 3.0.3
info:
  title: Person, Site and Service Offer lifecycle
  description: >
    This API manages the lifecycle of persons, sites and service offers as
    described
    [here](https://datanumia.stoplight.io/docs/DatanumiaHome/YXBpOjQ0ODQzMjMy-person-site-and-service-offer-lifecycle)

    Please refer to the following link to get a better understanding of the
    [core
    concepts](https://datanumia.stoplight.io/docs/DatanumiaHome/ZG9jOjM4MDg2NDE5-core-concepts)
    of the Home platform.


    <b>Important notice with regard to those APIs:</b>

    - When subscribing or deleting multiple subscribed offers on a site or
    subscribed offers on multiple sites please provide all sites and subscribe
    offer data in a single POST subscriptions call.

    - They are idempotent. Launching multiple times the same operation will lead
    to the same result

    - They require a complete snapshot of all the objects involved in the
    operation. Those new objects overwrite the existing one. In other words,
    missing properties will be considered empty or null when operations will be
    executed on existing person/site objects
  termsOfService: TODO
  contact:
    email: api@datanumia.com
  version: 2.0.0
servers:
  - url: https://api.home.datanumia.com/api/v2
    description: Production Server
security: []
paths:
  /persons/{person-id}:
    get:
      tags:
        - persons
      summary: get a person content
      description: |
        This API operation retrieve an existing person.
      operationId: getPerson
      parameters:
        - name: person-id
          in: path
          description: id of the person
          required: true
          schema:
            type: string
      responses:
        '200':
          description: get person detail in success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PersonData'
        '400':
          description: Functional Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                errorCode: INVALID_AUTHORIZATION_HEADER_VALUE
                errorDescription: The Authorization header is invalid
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                errorCode: ACCESS_DENIED
                errorDescription: >-
                  The Authorization token does not have permission to the
                  resource
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
                example:
                  errorCode: PERSON_NOT_FOUND
                  errorDescription: The person xxxx does not exist
        '500':
          description: Server error
          content: {}
      security:
        - Bearer:
            - home:referential:persons:read
components:
  schemas:
    PersonData:
      required:
        - ts
        - ids
      type: object
      properties:
        ts:
          type: string
          description: |
            description: |
              The last modification date of the object as defined by RFC 3339, section 5.6 using the following format: full-date'T'partial-time'Z'
          format: date-time
          example: '2017-07-21T17:32:28Z'
        ids:
          $ref: '#/components/schemas/PersonIds'
        content:
          $ref: '#/components/schemas/PersonContent'
        _links:
          $ref: '#/components/schemas/PersonLinks'
        _embedded:
          $ref: '#/components/schemas/PersonEmbedded'
    ErrorResponse:
      required:
        - errorCode
        - errorDescription
      type: object
      properties:
        errorCode:
          description: The error code. Refer to the table bellow
          type: string
        errorDescription:
          type: string
          description: The error description
      description: ErrorResponse
    PersonIds:
      required:
        - personId
        - personCustomerId
      type: object
      properties:
        personId:
          description: >-
            the id of the person object. It is the id from the Home perspective,
            not the external id one
          type: string
          example: personId1
          pattern: '[A-Za-z0-9-_]+'
        personCustomerId:
          type: string
          description: Your person identifier. This id is unique.
          pattern: '[A-Za-z0-9-_]+'
          example: person-45634
    PersonContent:
      description: Data contained within a Person object
      type: object
      properties:
        title:
          type: string
          example: Mme
          pattern: |
            ^([\p{L}\s.,;-]{0,10})$
        firstName:
          type: string
          pattern: |
            ^(.{0,100})$
          example: Jane
        lastName:
          type: string
          pattern: |
            ^(.{0,100})$
          example: Doe
        address:
          $ref: '#/components/schemas/PersonAddress'
        mobile:
          description: phone number in international format
          type: string
          pattern: |
            ^\+(?:[0-9] ?){6,14}[0-9]$
          example: '+33638854792'
        email:
          type: string
          description: >-
            email address respecting the OWASP definition :
            https://owasp.org/www-community/OWASP_Validation_Regex_Repository
          pattern: >
            (?=.{0,100}$)(^[a-zA-Z0-9_+&*-]+(?:\.[a-zA-Z0-9_+&*-]+)*@(?:[a-zA-Z0-9-]+\.)+[a-zA-Z]{2,7})
          example: api@datanumia.com
    PersonLinks:
      required:
        - self
      type: object
      properties:
        self:
          $ref: '#/components/schemas/PersonLinkSelf'
    PersonEmbedded:
      type: object
      properties:
        sites:
          type: array
          items:
            $ref: '#/components/schemas/SiteLinks'
    PersonAddress:
      description: Address.
      type: object
      properties:
        streetNumberAndName:
          type: string
          example: 4 bis place des vosges
          pattern: ^(.{0,70})$
        streetAdditionalInfo:
          type: string
          example: BP 90137 44701
          pattern: ^(.{0,50})$
        locationAdditionalInfo:
          type: string
          example: Batiment B
          pattern: ^(.{0,40})$
        zipCode:
          type: string
          example: '92400'
          pattern: ^(.{0,20})$
        city:
          type: string
          example: Courbevoie
          pattern: ^(.{0,50})$
        country:
          type: string
          example: France
          pattern: ^(.{0,30})$
    PersonLinkSelf:
      required:
        - href
      type: object
      properties:
        href:
          type: string
          example: https://<DATANUMIA_ROOT_URL>/persons/{person-id}
    SiteLinks:
      required:
        - _links
      type: object
      properties:
        self:
          $ref: '#/components/schemas/SiteLinkSelf'
    SiteLinkSelf:
      required:
        - href
      type: object
      properties:
        href:
          type: string
          example: https://<DATANUMIA_ROOT_URL>/sites/{site-id}
  securitySchemes:
    Bearer:
      type: http
      scheme: bearer

````