KPN

KPN Retrieve job result API

The Retrieve job result API from KPN — 3 operation(s) for retrieve job result.

Operations 3

GET /jobStatus/{jobId} Returns the current status of the calculation job identified by jobId
GET /jobResultS3/{jobId} Returns a signed URL where the results of an engineering job can be retrieved.
GET /Output/{jsonFileNameAndExtension} Retrieve the results of an engineering job.

Documentation

📖
Documentation
https://developer.kpn.com/products/kpn-number-verify
📖
Documentation
https://developer.kpn.com/documentation/kpn-number-verify-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/numberverify-kpn
📖
Documentation
https://developer.kpn.com/products/kpn-account-takeover-protection
📖
Documentation
https://developer.kpn.com/documentation/kpn-account-takeover-protection-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/simswap-kpn
📖
Documentation
https://developer.kpn.com/products/kpn-match
📖
Documentation
https://developer.kpn.com/documentation/kpn-match-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/match-kpn
📖
Documentation
https://developer.kpn.com/products/kpn-sms-api
📖
Documentation
https://developer.kpn.com/documentation/kpn-sms-api-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/sms-kpn
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/sms-inbound
📖
Documentation
https://developer.kpn.com/products/kpn-mobile-services-management-api
📖
Documentation
https://developer.kpn.com/documentation/kpn-mobile-services-management-api-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/mobileservicesmanagement-kpn
📖
Documentation
https://developer.kpn.com/products/federated-identity-and-access-management
📖
Documentation
https://developer.kpn.com/documentation/fiam-api-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/fiam-kpn
📖
Documentation
https://developer.kpn.com/products/fiam-eneco-data-products
📖
Documentation
https://developer.kpn.com/documentation/eneco-api-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/fiam-eneco-data-products
📖
Documentation
https://developer.kpn.com/products/kpn-disturbance-check-api
📖
Documentation
https://developer.kpn.com/documentation/kpn-disturbance-check-api-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/disturbance-check-kpn
📖
Documentation
https://developer.kpn.com/products/kpn-internet-speed-check-api
📖
Documentation
https://developer.kpn.com/documentation/kpn-internet-speed-check-api-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/internet-speed-check-kpn
📖
Documentation
https://developer.kpn.com/products/kpn-high-level-design-fttx-api
📖
Documentation
https://developer.kpn.com/documentation/kpn-high-level-design-fttx-api-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/high-level_design_ftth
📖
Documentation
https://developer.kpn.com/products/kpn-lora-device-management-api
📖
Documentation
https://developer.kpn.com/documentation/kpn-lora-device-management-api-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/lora-device-management-kpn
📖
Documentation
https://developer.kpn.com/products/kpn-sd-lan-sd-wan-network-view-api
📖
Documentation
https://developer.kpn.com/documentation/kpn-sd-lan-sd-wan-network-view-api-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/kpn-sd_lan_sd_wan_network_view_api
📖
Documentation
https://developer.kpn.com/products/kpn-servicenow-connect-api
📖
Documentation
https://developer.kpn.com/documentation/kpn-servicenow-api-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/servicenow-kpn
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/ise-kpn
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/tv-guide-kpn
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/webhook-signing-key-management-kpn
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/webhook-privacy-config-manager
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/wholesale-wba-kpn
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/wholesale-broadband_access_fpi_cip
📖
Documentation
https://developer.kpn.com/products/pollyhelp-knowledge-management-api
📖
Documentation
https://developer.kpn.com/documentation/pollyhelp-knowledge-management-api-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/knowledge-management-polly.help
📖
Documentation
https://developer.kpn.com/products/xdroid-speech-text-api
📖
Documentation
https://developer.kpn.com/documentation/xdroid-xdroid-speech-text-api-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/speech-to-text-xdroid
📖
Documentation
https://developer.kpn.com/products/parley-secure-messenger-api
📖
Documentation
https://developer.kpn.com/documentation/parley-chat-and-messaging-api-api-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/secure-messenger-parley
📖
Documentation
https://developer.kpn.com/products/social-media-chat-and-messaging
📖
Documentation
https://developer.kpn.com/documentation/parley-webcare-parley-documentation-api-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/socialmediawebcare-tracebuzz
📖
Documentation
https://developer.kpn.com/products/weseedo-weseedo-direct-api
📖
Documentation
https://developer.kpn.com/documentation/weseedo-weseedo-direct-api-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/weseedo-direct-weseedo
📖
Documentation
https://developer.kpn.com/products/weseedo-weseedo-personal-api
📖
Documentation
https://developer.kpn.com/documentation/weseedo-weseedo-personal-weseedo-api-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/weseedo-personal-weseedo
📖
Documentation
https://developer.kpn.com/products/vonage-messages-api
📖
Documentation
https://developer.kpn.com/documentation/vonage-messages-api-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/messages-nexmo
📖
Documentation
https://developer.kpn.com/products/vonage-voice-api
📖
Documentation
https://developer.kpn.com/documentation/vonage-voice-api-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/voice-nexmo
📖
Documentation
https://developer.kpn.com/products/vonage-phone-numbers-api
📖
Documentation
https://developer.kpn.com/documentation/vonage-phone-numbers-api-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/phone-numbers-nexmo
📖
Documentation
https://developer.kpn.com/products/vonage-number-insight-api
📖
Documentation
https://developer.kpn.com/documentation/vonage-number-insight-api-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/number-insight-nexmo
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/sms-nexmo
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/verify-nexmo
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/apidaze-voice-voip-innovations
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/registeredemail-registeredemail

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/kpn-retrieve-job-result-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

kpn-retrieve-job-result-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 1.0.0
  title: High-Level Design FTTx Retrieve job result API
  description: "The High-Level Design FTTx API supports Fiber to the Home (FTTH) engineering jobs. It allows you to calculate the required work and cost for Fiber rollout in a provided region.\n\nRun the endpoints in this order:\n\n1. **POST /startJobS3** to retrieve a signed URL for Amazon S3 bucket. Send this URL using the following endpoint.\n2. **PUT /s3url_uploads/{jsonFileNameAndExtension}** to upload the job.\n3. **GET /jobStatus/{jobId}** to retrieve the status of the job.\n4. **GET / jobResultS3/{jobId}** to retrieve a signed URL for the Amazon Simple Storage Service (Amazon S3) bucket. Send this URL using the following endpoint.\n5. **GET /Output/{jsonFileNameAndExtension}** to retrieve the results of the engineering job.\n\n ### Key highlights\n\n - **Security:** HTTPS, OAuth, Rate limit\n - **Versioning:** Supports version-less API, version tight. If no version\n is provided (in header) it defaults to latest version. \n\n  [Source view](https://app.swaggerhub.com/apis/kpn/high-level_design_ftth)<br/>\n  [Documentation view](https://app.swaggerhub.com/apis-docs/kpn/high-level_design_ftth)\n  \n  ---\n  \n  [KPN Developer](https://developer.kpn.com/)<br/>\n  [Getting Started](https://developer.kpn.com/getting-started)\n  \n"
servers:
- url: https://api-prd.kpn.com/network/kpn/ftth-engineering/
  variables: {}
security:
- oauth2: []
tags:
- name: Retrieve job result
paths:
  /jobStatus/{jobId}:
    get:
      tags:
      - Retrieve job result
      summary: Returns the current status of the calculation job identified by jobId
      description: This method is called by the HLD front-end to get the current status of a job
      parameters:
      - in: path
        name: jobId
        required: true
        schema:
          $ref: '#/components/schemas/jsonFileNameSchema'
      responses:
        200:
          description: Job status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/jobStatus'
        400:
          $ref: '#/components/responses/bad_request'
        401:
          $ref: '#/components/responses/unauthorized'
        403:
          $ref: '#/components/responses/forbidden'
        404:
          $ref: '#/components/responses/not_found'
        429:
          $ref: '#/components/responses/too_many'
        500:
          $ref: '#/components/responses/server_error'
        502:
          $ref: '#/components/responses/gateway_error'
        503:
          $ref: '#/components/responses/service_unavailable'
  /jobResultS3/{jobId}:
    get:
      tags:
      - Retrieve job result
      summary: Returns a signed URL where the results of an engineering job can be retrieved.
      description: When an engineering job is finished. This endpoint should be called first to retrieve a signed URL for the Amazon Simple Storage Service (Amazon S3) bucket where the results are stored. More details on how to use this URL to retrieve the results are specified in the /Output endpoint.
      parameters:
      - in: path
        name: jobId
        required: true
        schema:
          $ref: '#/components/schemas/jsonFileNameSchema'
      responses:
        200:
          description: 'The expected response is a signed URL for the Amazon Simple Storage Service (Amazon S3) bucket.</br> This signed URL is then to be used to retreieve the engineering job results, see **/Output/{jsonFileNameAndExtension}**.

            '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/signedOutputUrl'
        400:
          $ref: '#/components/responses/bad_request'
        401:
          $ref: '#/components/responses/unauthorized'
        403:
          $ref: '#/components/responses/forbidden'
        404:
          $ref: '#/components/responses/not_found'
        429:
          $ref: '#/components/responses/too_many'
        500:
          $ref: '#/components/responses/server_error'
        502:
          $ref: '#/components/responses/gateway_error'
        503:
          $ref: '#/components/responses/service_unavailable'
  /Output/{jsonFileNameAndExtension}:
    get:
      tags:
      - Retrieve job result
      summary: Retrieve the results of an engineering job.
      description: Retrieves the results of the engineering job. Use the signed URL received from /jobResultS3/{jobId} for this.
      servers:
      - url: https://ftth-engineering-prod.s3.amazonaws.com
        description: This API request is done towards an Amazon Simple Storage Service (Amazon S3) bucket instead of the API store server.
      parameters:
      - in: path
        name: jsonFileNameAndExtension
        required: true
        description: 'The **jobId** of the engineering job you defined in **/startJobS3** or **/jobResultS3** with added .json extension.  </br>

          Pattern: `^.+\.(json)$` </br>

          Example: `FTTx_AdamNorth_Input_Dec2020.json`

          '
        schema:
          $ref: '#/components/schemas/jsonFileNameAndExtensionSchema'
      - in: query
        name: X-Amz-Algorithm
        required: true
        description: 'Identifies the version of AWS Signature and the algorithm used to calculate the signature. Use the value provided as part of the signed URL response of **/startJobS3** or **/jobResultS3**. </br> Example: `AWS4-HMAC-SHA256`'
        schema:
          $ref: '#/components/schemas/amzAlgorithm'
      - in: query
        name: X-Amz-Credential
        required: true
        description: 'This parameter provides scope (AWS region and service) for which the signature is valid. Use the value provided as part of the signed URL response of **/startJobS3** or **/jobResultS3**. </br> Example: `AAAAAA%2F20201201%2Feu-west-1%2Fs3%2Faws4_request`'
        schema:
          $ref: '#/components/schemas/amzCredential'
      - in: query
        name: X-Amz-Date
        required: true
        description: "The date when the signedUrl was generated. Use the value provided as part of the signed URL response of **/startJobS3** or **/jobResultS3**.     </br>\n    Example: `20201201T120000Z`\n"
        schema:
          $ref: '#/components/schemas/amzDate'
      - in: query
        name: X-Amz-Expires
        required: true
        description: "Provides the time period, in seconds, for which the generated presigned URL is valid. Use the value provided as part of the signed URL response of **/startJobS3** or **/jobResultS3**. </br>\n    Example: `3600`\n"
        schema:
          $ref: '#/components/schemas/amzExpires'
      - in: query
        name: X-Amz-SignedHeaders
        required: true
        description: "Lists the headers used to calculate the signature. Use the value provided as part of the signed URL response of **/startJobS3** or **/jobResultS**. </br>\n    Example: `host`\n"
        schema:
          $ref: '#/components/schemas/amzSignedHeaders'
      - in: query
        name: X-Amz-Security-Token
        required: true
        description: 'Additional credential parameter. Use the value provided as part of the signed URL response of **/startJobS3** or **/jobResultS3**. </br>

          Example: `AAAAAAAAAAluX2VjEA0aCWV1LXdlc3QtMSJIMEYCIQDKnFBi14jhVzfJHKod%2FCpwTIFkAj3kttgcdNRSngk49gIhAK6DboCvbtAmjlWDG5pBgzaFV1lXC0yFZWelULkpV%2FNVKuUBCNb%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEQABoMNjUyNDM0MTA2NTI4Igwfybzhyrjg3aq7hbMquQHE00Xe9PiL%2BS%2BSlhrzrpOKg2y%2F5qfjbR2BrGcPpxta3EiBwUpvmXR%2F%2BqkQBG7BuJifYKaDkdnOS%2B3OzxkV2WRHnKnlNwann1vCLTS9AWGdNRFLE72iJ2s%2BT3lwQp%2BR6bGMjcfqEDm84MR3gINTpSp84y9bt9hoxtxfXzF8SfGv5LVoN45K8Rf%2B%2BqF7%2BwF03JWV50Klauq4hneHRiyWsUgQY6pFMN14xj83Jn5fxKJi0L7qh%2BWBfMnDCTCW1%2Fv%2FBTrfAbwZuNzIkBmhmHsmDO9hS2dLEfqpH9GpPUl8YLY3vfjATqpjnz241WrrBdyTawUFbiTEbcKx05dUwbkUdLRP2i9CZVLAl%2Bqk0J6VYmIEhhU2RS54oHCZzinEVzsdo%2BS5eXRQ9BiAD8OCH2gP3a7bXDx9HOBxSdbGMv5mXMeP1wsdjC7e%2FkVsQlEtBTNgc62EiloUbQlPiQyb1OQEMMGZd%2BV5N%2FxdNq%2For1UraAbvxAAzGHUqQff4rmZCEDbO5uv2kwWDR1boarpQeEG8Q3j%2BxSNde%2FG%2BUjg425uIAAAAAAAAAA`

          '
        schema:
          $ref: '#/components/schemas/amzSecurityToken'
      - in: query
        name: X-Amz-Signature
        required: true
        description: "The signature to authenticate your request. Use the value provided as part of the signed URL response of **/startJobS3** or **/jobResultS3**.\n  </br>\nExample: `aaaaaaaaaa09c013193ffd301019b60308a092c972b22fdfcb8424bbbbbbbbbb`\n"
        schema:
          $ref: '#/components/schemas/amzSignature'
      responses:
        200:
          description: This is the result of the High-Level Design FTTx engieering job, based on the input provided.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/jobResult'
components:
  schemas:
    Pop:
      type: object
      properties:
        id:
          type: integer
          format: int64
          example: 333
        type:
          type: string
          example: CP-AP_1496
          enum:
          - CP-AP_528
          - CP-AP_1496
          - CP-AP_1848
          - CP-AP_3696
          - AP_3696
        x:
          type: number
          format: double
          example: 52.99187331
        y:
          type: number
          format: double
          example: 5.99117733
    Cable96V:
      type: object
      properties:
        distributionPointId1:
          type: string
        distributionPointId2:
          type: string
        coreCableId:
          type: integer
          format: int64
          example: 222
        trenchIds:
          type: array
          items:
            type: string
    jobResult:
      type: object
      properties:
        status:
          type: string
        jobId:
          type: string
          format: uuid
        numberOfCoreAreas:
          type: integer
          format: int32
        amountHp:
          type: integer
          format: int32
          description: Total number of adresses after filtering on existing FttH adresses/BC received from Python
        amountHpLowRise:
          type: integer
          format: int32
          description: Total number of low-rise adresses after filtering on existing FttH adresses/BC received from Python
        amountHpHighRise:
          type: integer
          format: int32
          description: Total number of high-rise adresses after filtering on existing FttH adresses/BC received from Python
        totalCable7x14Length:
          type: number
          format: double
          description: Total length of the 7x14 ducts, received from Python. Column per HP should be calculated by dividing the total length by 'Aantal HP'
        totalCable2x14Length:
          type: number
          format: double
          description: Total length of the 2x14 ducts, received from Python. Column per HP should be calculated by dividing the total length by 'Aantal HP'
        totalCable96vLength:
          type: number
          format: double
          description: Total length of the 96fold fibercable received from Python. Column per HP should be calculated by dividing the total length by 'Aantal HP'
        totalCableDacLength:
          type: number
          format: double
          description: Total length of the DAC's, received from Python. Column per HP should be calculated by dividing the total length by 'Aantal HP'
        totalBisLength:
          type: number
          format: double
          description: Total length of digging, received from Python. Column per HP should be calculated by dividing the total length by 'Aantal HP'
        hasLength:
          type: number
          format: double
          description: Total length of lead-ins, received from Python. Column per HP should be calculated by dividing the total length by 'Aantal HP laagbouw'
        lengthDirectionalBoring:
          type: number
          format: double
          description: Total length of Horizontal Directional Drillings (HDD), received from Python. Column per HP should not be calculated
        amountDp:
          type: number
          format: double
          description: Total number of DP's, received from Python. Column per HP should not be calculated
        ftthDeploymentCosts:
          type: number
          format: double
          description: Cost per HP to build the network, received from Python. Column Totaal should be calculated by multiplying the cost per HP with 'Aantal HP'
        incaContractCapex:
          type: number
          format: double
          description: Cost per HP to build the network according to the INCA model (simplified calculation method agreed on with the contractor), received from Python. Column Totaal should be calculated by multiplying the cost per HP with 'Aantal HP'
        incaCapex:
          type: number
          format: double
          description: Cost per HP to build the network according to the INCA model (simplified calculation method agreed on with the contractor) including some internal costs like active costs  (e.g. DSLAM), received from Python. Column Totaal should be calculated by multiplying the cost per HP with 'Aantal HP'
        maximalCableLength:
          type: number
          format: double
          description: The maximum length from household to PoP, received from Python
        distributionPoints:
          type: array
          items:
            $ref: '#/components/schemas/DistributionPoint'
        cables96v:
          type: array
          items:
            $ref: '#/components/schemas/Cable96V'
        coreCables:
          type: array
          items:
            $ref: '#/components/schemas/CoreCable'
        pops:
          type: array
          items:
            $ref: '#/components/schemas/Pop'
        splitters:
          type: array
          items:
            $ref: '#/components/schemas/Splitter'
        haslist:
          type: array
          items:
            $ref: '#/components/schemas/Has'
        trenches:
          type: array
          items:
            $ref: '#/components/schemas/Trench'
        message:
          type: string
    amzSecurityToken:
      type: string
      example: AAAAAAAAAAluX2VjEA0aCWV1LXdlc3QtMSJIMEYCIQDKnFBi14jhVzfJHKod%2FCpwTIFkAj3kttgcdNRSngk49gIhAK6DboCvbtAmjlWDG5pBgzaFV1lXC0yFZWelULkpV%2FNVKuUBCNb%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEQABoMNjUyNDM0MTA2NTI4Igwfybzhyrjg3aq7hbMquQHE00Xe9PiL%2BS%2BSlhrzrpOKg2y%2F5qfjbR2BrGcPpxta3EiBwUpvmXR%2F%2BqkQBG7BuJifYKaDkdnOS%2B3OzxkV2WRHnKnlNwann1vCLTS9AWGdNRFLE72iJ2s%2BT3lwQp%2BR6bGMjcfqEDm84MR3gINTpSp84y9bt9hoxtxfXzF8SfGv5LVoN45K8Rf%2B%2BqF7%2BwF03JWV50Klauq4hneHRiyWsUgQY6pFMN14xj83Jn5fxKJi0L7qh%2BWBfMnDCTCW1%2Fv%2FBTrfAbwZuNzIkBmhmHsmDO9hS2dLEfqpH9GpPUl8YLY3vfjATqpjnz241WrrBdyTawUFbiTEbcKx05dUwbkUdLRP2i9CZVLAl%2Bqk0J6VYmIEhhU2RS54oHCZzinEVzsdo%2BS5eXRQ9BiAD8OCH2gP3a7bXDx9HOBxSdbGMv5mXMeP1wsdjC7e%2FkVsQlEtBTNgc62EiloUbQlPiQyb1OQEMMGZd%2BV5N%2FxdNq%2For1UraAbvxAAzGHUqQff4rmZCEDbO5uv2kwWDR1boarpQeEG8Q3j%2BxSNde%2FG%2BUjg425uIAAAAAAAAAA
      description: Additional credential parameter. Use the value provided as part of the signed URL response of /startJobS3 or /jobResultS3.
    error:
      type: object
      properties:
        transactionId:
          type: string
          description: transaction id of the the request
          title: Transaction ID
        status:
          type: string
          description: Status
          title: Status
        name:
          type: string
          description: Error name
          title: Error name
        message:
          type: string
          description: Error message
          title: Error message
        info:
          type: string
          description: Additional information about error
          title: Info
    amzSignedHeaders:
      type: string
      example: host
      description: Lists the headers used to calculate the signature. Use the value provided as part of the signed URL response of /startJobS3 or /jobResultS3.
    Splitter:
      type: object
      properties:
        id:
          type: integer
          format: int64
          example: 754
        type:
          type: string
          example: Splitter
        x:
          type: number
          format: double
          example: 52.99187331
        y:
          type: number
          format: double
          example: 5.99117733
    jobStatus:
      type: object
      properties:
        status:
          type: string
          enum:
          - queued
          - accepted
          - running
          - done
          - failed
          - unknown
    DistributionPoint:
      type: object
      properties:
        id:
          type: string
        x:
          type: number
          format: double
        y:
          type: number
          format: double
        hhRoutes:
          type: array
          items:
            $ref: '#/components/schemas/HHRoute'
      required:
      - id
      - x
      - y
      - hhRoutes
    HHRoute:
      type: object
      properties:
        trenchIds:
          type: array
          items:
            type: string
    Has:
      type: object
      description: Has geo properties
      properties:
        id:
          type: string
          example: HAS 1127PV189
        x1:
          type: number
          format: double
        y1:
          type: number
          format: double
        x2:
          type: number
          format: double
        y2:
          type: number
          format: double
    amzSignature:
      type: string
      example: aaaaaaaaaa09c013193ffd301019b60308a092c972b22fdfcb8424bbbbbbbbbb
      description: The signature to authenticate your request. Use the value provided as part of the signed URL response of /startJobS3 or /jobResultS3.
    amzCredential:
      type: string
      example: AAAAAA%2F20201201%2Feu-west-1%2Fs3%2Faws4_request
      description: This parameter provides scope (AWS region and service) for which the signature is valid. Use the value provided as part of the signed URL response of /startJobS3 or /jobResultS3.
    signedOutputUrl:
      type: object
      properties:
        signedUrl:
          type: string
          format: uri
          example: https://ftth-engineering-prod.s3.amazonaws.com/Output/FTTx_AdamNorth_Input_Dec2020.json?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AAAAAA%2F20201201%2Feu-west-1%2Fs3%2Faws4_request&X-Amz-Date=20201201T120000Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Security-Token=AAAAAAAAAAluX2VjEA0aCWV1LXdlc3QtMSJIMEYCIQDKnFBi14jhVzfJHKod%2FCpwTIFkAj3kttgcdNRSngk49gIhAK6DboCvbtAmjlWDG5pBgzaFV1lXC0yFZWelULkpV%2FNVKuUBCNb%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEQABoMNjUyNDM0MTA2NTI4Igwfybzhyrjg3aq7hbMquQHE00Xe9PiL%2BS%2BSlhrzrpOKg2y%2F5qfjbR2BrGcPpxta3EiBwUpvmXR%2F%2BqkQBG7BuJifYKaDkdnOS%2B3OzxkV2WRHnKnlNwann1vCLTS9AWGdNRFLE72iJ2s%2BT3lwQp%2BR6bGMjcfqEDm84MR3gINTpSp84y9bt9hoxtxfXzF8SfGv5LVoN45K8Rf%2B%2BqF7%2BwF03JWV50Klauq4hneHRiyWsUgQY6pFMN14xj83Jn5fxKJi0L7qh%2BWBfMnDCTCW1%2Fv%2FBTrfAbwZuNzIkBmhmHsmDO9hS2dLEfqpH9GpPUl8YLY3vfjATqpjnz241WrrBdyTawUFbiTEbcKx05dUwbkUdLRP2i9CZVLAl%2Bqk0J6VYmIEhhU2RS54oHCZzinEVzsdo%2BS5eXRQ9BiAD8OCH2gP3a7bXDx9HOBxSdbGMv5mXMeP1wsdjC7e%2FkVsQlEtBTNgc62EiloUbQlPiQyb1OQEMMGZd%2BV5N%2FxdNq%2For1UraAbvxAAzGHUqQff4rmZCEDbO5uv2kwWDR1boarpQeEG8Q3j%2BxSNde%2FG%2BUjg425uIAAAAAAAAAA&X-Amz-Signature=aaaaaaaaaa09c013193ffd301019b60308a092c972b22fdfcb8424bbbbbbbbbb
    jsonFileNameSchema:
      type: string
      example: FTTx_AdamNorth_Input_Dec2020
    amzDate:
      type: string
      example: 20201201T120000Z
      description: The date when the signedUrl was generated. Use the value provided as part of the signed URL response of /startJobS3 or /jobResultS3.
    amzExpires:
      type: string
      example: '3600'
      description: Provides the time period, in seconds, for which the generated presigned URL is valid. Use the value provided as part of the signed URL response of /startJobS3 or /jobResultS3.
    jsonFileNameAndExtensionSchema:
      type: string
      pattern: ^.+\.(json)$
      example: FTTx_AdamNorth_Input_Dec2020.json
      description: "The `jobId` of the engineering job you defined in /startJobS3 or /jobResultS3 with added .json extension. \n"
    Trench:
      type: object
      description: Trench properties
      properties:
        id:
          type: string
          example: 1005_up_12800
        x1:
          type: number
          format: double
        y1:
          type: number
          format: double
        x2:
          type: number
          format: double
        y2:
          type: number
          format: double
        length:
          type: number
          format: double
        surfaceType:
          type: string
          enum:
          - premium_road
          - road
          example: road
    amzAlgorithm:
      type: string
      example: AWS4-HMAC-SHA256
      description: Identifies the version of AWS Signature and the algorithm used to calculate the signature. Use the value provided as part of the signed URL response of `/startJobS3` or `/jobResultS3`.
    CoreCable:
      type: object
      properties:
        id:
          type: integer
          format: int64
          example: 222
        popId:
          type: integer
          format: int64
          example: 333
        trenchIds:
          type: array
          items:
            type: string
  responses:
    bad_request:
      description: Bad request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
    unauthorized:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
    gateway_error:
      description: gateway_error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
    not_found:
      description: not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
    too_many:
      description: too many requests
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
    service_unavailable:
      description: service unavailable
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
    forbidden:
      description: forbidden
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
    server_error:
      description: server error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://api-prd.kpn.com/oauth/client_credential/accesstoken?grant_type=client_credentials
          scopes: {}
externalDocs:
  description: HTTP response headers
  url: https://developer.kpn.com/documentation-response-headers