Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Beskrivning

Generell tjänst för att lagra och hämta anteckningar kopplad till en organisation eller en medborgare.

Livscykelstatus

Under utveckling

Lösningsbeskrivning

Gliffy
imageAttachmentIdatt929890329
macroId0623c889-3260-4597-85dd-185d4fa90038
baseUrlhttps://sundsvall.atlassian.net/wiki
namenotes
diagramAttachmentIdatt931233799
containerId931332097
timestamp1644565587972

Hantering av personuppgifter

<Vilka personuppgifter hanteras och varför?>

API specifikation

Expand
titleAPI-nyckel för sandbox-miljö. Klicka på "Authorize" nedan och ange denna nyckel för att testa API:et.

eyJ4NXQiOiJOVGRtWmpNNFpEazNOalkwWXpjNU1tWm1PRGd3TVRFM01XWXdOREU1TVdSbFpEZzROemM0WkE9PSIsImtpZCI6ImdhdGV3YXlfY2VydGlmaWNhdGVfYWxpYXMiLCJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJhZG1pbkBjYXJib24uc3VwZXIiLCJhcHBsaWNhdGlvbiI6eyJvd25lciI6ImFkbWluIiwidGllclF1b3RhVHlwZSI6bnVsbCwidGllciI6IjUwUGVyTWluIiwibmFtZSI6IkNvbmZsdWVuY2UiLCJpZCI6NDksInV1aWQiOiI5MTc3ZGYxZC1hMDQwLTQwMTYtOGVjZC05NGM1OGI1NmFjYTYifSwiaXNzIjoiaHR0cHM6XC9cL2FwaS1pbS10ZXN0LnN1bmRzdmFsbC5zZTo0NDNcL29hdXRoMlwvdG9rZW4iLCJ0aWVySW5mbyI6eyJVbmxpbWl0ZWQiOnsidGllclF1b3RhVHlwZSI6InJlcXVlc3RDb3VudCIsImdyYXBoUUxNYXhDb21wbGV4aXR5IjowLCJncmFwaFFMTWF4RGVwdGgiOjAsInN0b3BPblF1b3RhUmVhY2giOnRydWUsInNwaWtlQXJyZXN0TGltaXQiOjAsInNwaWtlQXJyZXN0VW5pdCI6bnVsbH19LCJrZXl0eXBlIjoiUFJPRFVDVElPTiIsInBlcm1pdHRlZFJlZmVyZXIiOiIiLCJzdWJzY3JpYmVkQVBJcyI6W3sic3Vic2NyaWJlclRlbmFudERvbWFpbiI6ImNhcmJvbi5zdXBlciIsIm5hbWUiOiJEaXN0dXJiYW5jZXMiLCJjb250ZXh0IjoiXC9kaXN0dXJiYW5jZXNcLzEuMSIsInB1Ymxpc2hlciI6ImFkbWluIiwidmVyc2lvbiI6IjEuMSIsInN1YnNjcmlwdGlvblRpZXIiOiJVbmxpbWl0ZWQifV0sInBlcm1pdHRlZElQIjoiIiwiaWF0IjoxNjQyMDc2OTAyLCJqdGkiOiI2MzUyNDM0NS01MmNlLTQyMzUtODNmZC0yOWIxNTY1ZWYxOTEifQ==.S8mFnktBSgU6HJ4SBk3Q6RLGtX_oQnaFQLzy6zzU9rU5J73o4D1j61YpOWuGYYFTLPmN9PbvLe_LkpWR5oRj4Fig7yIqUJ-YGkg0hNE8BXJLMb-2MUmRD6tvZFFI1ZVSwzDG_bDgoWPnoUTqxyni7gYfVgK0b_4CF7m6iVXNulUqzCLx-cOabJFB2QTFCNvDVlsXursf9SfEY5rhbyPyqWxRaiotGxXz0PnIlub5bvL5HEOuUdafj8ozMDGB2Wz2_0W4H8XBwjZnfLPQcyCEZ_WeDaFAd9mcDsQ4MiqexBdHPKv1dikzqJKOOBR4213KqQ2W2dDUwwthP3QCVxxqvQ==

Swagger ui
openapi: 3.0.1
info:
  title: api-notes
  contact: {}
  license:
    name: MIT
    url: 'https://opensource.org/licenses/MIT'
  version: '1.0'
servers:
  - url: https://api-test.sundsvall.se/notes/1.0
security:
  - default: []
tags:
  - name: Notes
    description: Notes
paths:
  /notes:
    get:
      tags:
        - Notes
      summary: 'Get all notes, filtered by partyId'
      operationId: getNotesByPartyId
      parameters:
        - name: partyId
          in: query
          description: PartyID
          required: true
          style: form
          explode: true
          schema:
            type: string
          example: 81471222-5798-11e9-ae24-57fa13b361e1
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Note'
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Note'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: Internal Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
    post:
      tags:
        - Notes
      summary: Create new note
      operationId: createNote
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateNoteRequest'
        required: true
      responses:
        '201':
          description: Successful operation
          headers:
            Location:
              style: simple
              explode: false
              schema:
                type: string
        '400':
          description: Bad request
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: Not found
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: Internal Server error
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
  '/notes/{id}':
    get:
      tags:
        - Notes
      summary: Get note by ID
      operationId: getNoteById
      parameters:
        - name: id
          in: path
          description: Note ID
          required: true
          style: simple
          explode: false
          schema:
            type: string
          example: b82bd8ac-1507-4d9a-958d-369261eecc15
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Note'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Note'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: Internal Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
    delete:
      tags:
        - Notes
      summary: Delete note by ID
      operationId: deleteNoteById
      parameters:
        - name: id
          in: path
          description: Note ID
          required: true
          style: simple
          explode: false
          schema:
            type: string
          example: b82bd8ac-1507-4d9a-958d-369261eecc15
      responses:
        '204':
          description: Successful operation
        '400':
          description: Bad request
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: Not found
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: Internal Server error
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
    patch:
      tags:
        - Notes
      summary: Update note
      operationId: updateNote
      parameters:
        - name: id
          in: path
          description: Note ID
          required: true
          style: simple
          explode: false
          schema:
            type: string
          example: b82bd8ac-1507-4d9a-958d-369261eecc15
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateNoteRequest'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Note'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Note'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: Internal Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
security:
  - ApiKeyAuth: []
components:
  securitySchemes:
    ApiKeyAuth: 
      type: apiKey
      in: header   
      name: apikey  
  schemas:
    CreateNoteRequest:
      required:
        - body
        - createdBy
        - subject
      type: object
      properties:
        partyId:
          type: string
          description: Party ID (e.g. a personId or an organizationId)
          example: 81471222-5798-11e9-ae24-57fa13b361e1
        subject:
          maximum: 256
          maxLength: 256
          minLength: 1
          type: string
          description: The note subject
          example: This is a subject
        body:
          maximum: 2048
          maxLength: 2048
          minLength: 1
          type: string
          description: The note nody
          example: This is a note
        createdBy:
          type: string
          description: Created by
          example: John Doe
      description: CreateNoteRequest model
    Problem:
      type: object
      properties:
        instance:
          type: string
          format: uri
        type:
          type: string
          format: uri
        parameters:
          type: object
          additionalProperties:
            type: object
        status:
          $ref: '#/components/schemas/StatusType'
        title:
          type: string
        detail:
          type: string
    StatusType:
      type: object
      properties:
        statusCode:
          type: integer
          format: int32
        reasonPhrase:
          type: string
    UpdateNoteRequest:
      required:
        - body
        - modifiedBy
        - subject
      type: object
      properties:
        subject:
          maximum: 256
          maxLength: 256
          minLength: 1
          type: string
          description: The note subject
          example: This is a subject
        body:
          maximum: 2048
          maxLength: 2048
          minLength: 1
          type: string
          description: The note nody
          example: This is a note
        modifiedBy:
          type: string
          description: Modified by
          example: John Doe
      description: UpdateNoteRequest model
    Note:
      type: object
      properties:
        id:
          type: string
          description: Note ID
          example: b82bd8ac-1507-4d9a-958d-369261eecc15
        partyId:
          type: string
          description: Party ID (e.g. a personId or an organizationId)
          example: 81471222-5798-11e9-ae24-57fa13b361e1
        subject:
          type: string
          description: The note subject
          example: This is a subject
        body:
          type: string
          description: The note nody
          example: This is a note
        createdBy:
          type: string
          description: Created by
          example: John Doe
        modifiedBy:
          type: string
          description: Modified by
          example: John Doe
        created:
          type: string
          description: Created timestamp
          format: date-time
        modified:
          type: string
          description: Modified timestamp
          format: date-time
      description: CreateNoteRequest model

Säkerhetsklassning

Säkerhetsklass 1

Autentiseringsmetod: OAuth2

(Ref: Säkerhetsklassning av APIer )

API-ägare

<Kontaktuppgifter till den verksamhet som äger APIets livscykel>

Teknisk ägare

https://sundsvall.atlassian.net/wiki/spaces/API
Team Unmasked
teamunmasked@sundsvall.se

Länkar

FAQ

<FAQ>