{
  "components": {
    "responses": {
      "DEFAULT_ERROR": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        },
        "description": "Default error response"
      },
      "UNPROCESSABLE_ENTITY": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        },
        "description": "Unprocessable Entity"
      }
    },
    "schemas": {
      "Article": {
        "additionalProperties": false,
        "properties": {
          "_links": {
            "readOnly": true
          },
          "comment_count": {
            "type": "integer"
          },
          "content": {
            "description": "Sanitized HTML body. For a for-sale item this is the preview unless the token's user is entitled to the full text.",
            "readOnly": true
          },
          "expires_at": {},
          "genre": {
            "type": "string"
          },
          "geo_localisation": {
            "type": "string"
          },
          "id": {
            "type": "integer"
          },
          "kind": {
            "default": "article"
          },
          "language": {
            "type": "string"
          },
          "last_updated_at": {},
          "like_count": {
            "type": "integer"
          },
          "media_id": {
            "nullable": true,
            "type": "integer"
          },
          "pays_zip_ville": {
            "type": "string"
          },
          "published_at": {},
          "publisher_id": {
            "nullable": true,
            "type": "integer"
          },
          "section": {
            "type": "string"
          },
          "sector": {
            "type": "string"
          },
          "summary": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "topic": {
            "type": "string"
          },
          "view_count": {
            "type": "integer"
          }
        },
        "type": "object"
      },
      "ArticleCollection": {
        "additionalProperties": false,
        "properties": {
          "_links": {
            "additionalProperties": {},
            "type": "object"
          },
          "count": {
            "description": "Resources on this page.",
            "type": "integer"
          },
          "items": {
            "items": {
              "$ref": "#/components/schemas/Article"
            },
            "type": "array"
          },
          "limit": {
            "type": "integer"
          },
          "offset": {
            "type": "integer"
          },
          "total": {
            "description": "Total matching resources.",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "ArticleUpdate": {
        "additionalProperties": false,
        "properties": {
          "address": {
            "type": "string"
          },
          "brief": {
            "type": "string"
          },
          "chapo": {
            "description": "Standfirst / lede.",
            "type": "string"
          },
          "contenu": {
            "description": "Body (sanitized HTML).",
            "type": "string"
          },
          "copyright": {
            "type": "string"
          },
          "date_parution_prevue": {
            "description": "Planned publication date (defaults to now).",
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "genre": {
            "type": "string"
          },
          "geo_localisation": {
            "type": "string"
          },
          "language": {
            "type": "string"
          },
          "pays_zip_ville": {
            "type": "string"
          },
          "section": {
            "type": "string"
          },
          "sector": {
            "type": "string"
          },
          "titre": {
            "description": "Title.",
            "type": "string"
          },
          "topic": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "ArticleWrite": {
        "additionalProperties": false,
        "properties": {
          "address": {
            "type": "string"
          },
          "brief": {
            "type": "string"
          },
          "chapo": {
            "description": "Standfirst / lede.",
            "type": "string"
          },
          "contenu": {
            "description": "Body (sanitized HTML).",
            "type": "string"
          },
          "copyright": {
            "type": "string"
          },
          "date_parution_prevue": {
            "description": "Planned publication date (defaults to now).",
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "genre": {
            "type": "string"
          },
          "geo_localisation": {
            "type": "string"
          },
          "language": {
            "type": "string"
          },
          "pays_zip_ville": {
            "type": "string"
          },
          "section": {
            "type": "string"
          },
          "sector": {
            "type": "string"
          },
          "titre": {
            "description": "Title (required).",
            "type": "string"
          },
          "topic": {
            "type": "string"
          }
        },
        "required": [
          "titre"
        ],
        "type": "object"
      },
      "BusinessWall": {
        "additionalProperties": false,
        "properties": {
          "_links": {
            "readOnly": true
          },
          "audience_cible": {
            "type": "string"
          },
          "bw_type": {
            "type": "string"
          },
          "cover_url": {
            "readOnly": true
          },
          "id": {
            "type": "string"
          },
          "logo_url": {
            "readOnly": true
          },
          "name": {
            "type": "string"
          },
          "name_group": {
            "type": "string"
          },
          "name_institution": {
            "type": "string"
          },
          "name_official": {
            "type": "string"
          },
          "name_press": {
            "type": "string"
          },
          "organisation_id": {
            "nullable": true,
            "type": "integer"
          },
          "periodicite": {
            "type": "string"
          },
          "positionnement_editorial": {
            "type": "string"
          },
          "secteurs_activite": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "site_url": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "type_organisation": {
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "BusinessWallCollection": {
        "additionalProperties": false,
        "properties": {
          "_links": {
            "additionalProperties": {},
            "type": "object"
          },
          "count": {
            "description": "Resources on this page.",
            "type": "integer"
          },
          "items": {
            "items": {
              "$ref": "#/components/schemas/BusinessWall"
            },
            "type": "array"
          },
          "limit": {
            "type": "integer"
          },
          "offset": {
            "type": "integer"
          },
          "total": {
            "description": "Total matching resources.",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "Error": {
        "additionalProperties": false,
        "properties": {
          "code": {
            "description": "Error code",
            "type": "integer"
          },
          "errors": {
            "additionalProperties": {},
            "description": "Errors",
            "type": "object"
          },
          "message": {
            "description": "Error message",
            "type": "string"
          },
          "status": {
            "description": "Error name",
            "type": "string"
          }
        },
        "type": "object"
      },
      "Event": {
        "additionalProperties": false,
        "properties": {
          "_links": {
            "readOnly": true
          },
          "category": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "content": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "cover_image_url": {
            "type": "string"
          },
          "end_datetime": {},
          "genre": {
            "type": "string"
          },
          "geo_lat": {
            "type": "number"
          },
          "geo_lng": {
            "type": "number"
          },
          "id": {
            "type": "integer"
          },
          "kind": {
            "default": "event"
          },
          "language": {
            "type": "string"
          },
          "location": {
            "type": "string"
          },
          "logo_url": {
            "type": "string"
          },
          "region": {
            "type": "string"
          },
          "sector": {
            "type": "string"
          },
          "start_datetime": {},
          "summary": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "zip_code": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "EventCollection": {
        "additionalProperties": false,
        "properties": {
          "_links": {
            "additionalProperties": {},
            "type": "object"
          },
          "count": {
            "description": "Resources on this page.",
            "type": "integer"
          },
          "items": {
            "items": {
              "$ref": "#/components/schemas/Event"
            },
            "type": "array"
          },
          "limit": {
            "type": "integer"
          },
          "offset": {
            "type": "integer"
          },
          "total": {
            "description": "Total matching resources.",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "EventUpdate": {
        "additionalProperties": false,
        "properties": {
          "address": {
            "type": "string"
          },
          "chapo": {
            "description": "Standfirst / lede.",
            "type": "string"
          },
          "contenu": {
            "description": "Body (sanitized HTML).",
            "type": "string"
          },
          "end_time": {
            "description": "End; required to publish, >= start.",
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "event_type": {
            "type": "string"
          },
          "language": {
            "type": "string"
          },
          "pays_zip_ville": {
            "type": "string"
          },
          "publisher_id": {
            "description": "Organisation to attribute/publish on behalf of. Defaults to the caller's own organisation; a client org is only accepted if the caller is authorized to publish for it.",
            "nullable": true,
            "type": "integer"
          },
          "sector": {
            "type": "string"
          },
          "start_time": {
            "description": "Start; required to publish.",
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "titre": {
            "description": "Title.",
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "EventWrite": {
        "additionalProperties": false,
        "properties": {
          "address": {
            "type": "string"
          },
          "chapo": {
            "description": "Standfirst / lede.",
            "type": "string"
          },
          "contenu": {
            "description": "Body (sanitized HTML).",
            "type": "string"
          },
          "end_time": {
            "description": "End; required to publish, >= start.",
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "event_type": {
            "type": "string"
          },
          "language": {
            "type": "string"
          },
          "pays_zip_ville": {
            "type": "string"
          },
          "publisher_id": {
            "description": "Organisation to attribute/publish on behalf of. Defaults to the caller's own organisation; a client org is only accepted if the caller is authorized to publish for it.",
            "nullable": true,
            "type": "integer"
          },
          "sector": {
            "type": "string"
          },
          "start_time": {
            "description": "Start; required to publish.",
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "titre": {
            "description": "Title (required).",
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "titre"
        ],
        "type": "object"
      },
      "Member": {
        "additionalProperties": false,
        "properties": {
          "_links": {
            "readOnly": true
          },
          "competences": {
            "readOnly": true
          },
          "first_name": {
            "type": "string"
          },
          "full_name": {
            "type": "string"
          },
          "gender": {
            "type": "string"
          },
          "id": {
            "type": "integer"
          },
          "job_title": {
            "type": "string"
          },
          "karma": {
            "type": "number"
          },
          "langues": {
            "readOnly": true
          },
          "last_name": {
            "type": "string"
          },
          "metiers": {
            "readOnly": true
          },
          "organisation_id": {
            "nullable": true,
            "type": "integer"
          },
          "organisation_name": {
            "type": "string"
          },
          "photo_url": {
            "readOnly": true
          },
          "presentation": {
            "readOnly": true
          },
          "profile_community": {
            "readOnly": true
          },
          "profile_label": {
            "readOnly": true
          },
          "secteurs_activite": {
            "readOnly": true
          },
          "status": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "MemberCollection": {
        "additionalProperties": false,
        "properties": {
          "_links": {
            "additionalProperties": {},
            "type": "object"
          },
          "count": {
            "description": "Resources on this page.",
            "type": "integer"
          },
          "items": {
            "items": {
              "$ref": "#/components/schemas/Member"
            },
            "type": "array"
          },
          "limit": {
            "type": "integer"
          },
          "offset": {
            "type": "integer"
          },
          "total": {
            "description": "Total matching resources.",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "MyArticle": {
        "additionalProperties": false,
        "properties": {
          "_links": {
            "readOnly": true
          },
          "address": {
            "type": "string"
          },
          "brief": {
            "type": "string"
          },
          "chapo": {
            "type": "string"
          },
          "commanditaire_id": {
            "nullable": true,
            "type": "integer"
          },
          "contenu": {
            "type": "string"
          },
          "copyright": {
            "type": "string"
          },
          "created_at": {},
          "date_parution_prevue": {},
          "date_publication_aip24": {},
          "expired_at": {},
          "genre": {
            "type": "string"
          },
          "geo_localisation": {
            "type": "string"
          },
          "id": {
            "type": "integer"
          },
          "kind": {
            "default": "article"
          },
          "language": {
            "type": "string"
          },
          "media_id": {
            "nullable": true,
            "type": "integer"
          },
          "modified_at": {},
          "pays_zip_ville": {
            "type": "string"
          },
          "published_at": {},
          "publisher_id": {
            "nullable": true,
            "type": "integer"
          },
          "section": {
            "type": "string"
          },
          "sector": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "titre": {
            "type": "string"
          },
          "topic": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "MyArticleCollection": {
        "additionalProperties": false,
        "properties": {
          "_links": {
            "additionalProperties": {},
            "type": "object"
          },
          "count": {
            "description": "Resources on this page.",
            "type": "integer"
          },
          "items": {
            "items": {
              "$ref": "#/components/schemas/MyArticle"
            },
            "type": "array"
          },
          "limit": {
            "type": "integer"
          },
          "offset": {
            "type": "integer"
          },
          "total": {
            "description": "Total matching resources.",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "MyAvisEnquete": {
        "additionalProperties": false,
        "properties": {
          "_links": {
            "readOnly": true
          },
          "brief": {
            "type": "string"
          },
          "ciblage_directions_expertise": {
            "nullable": true,
            "type": "string"
          },
          "ciblage_geolocation": {
            "nullable": true,
            "type": "string"
          },
          "ciblage_secteur_detailles": {
            "type": "string"
          },
          "ciblage_tailles_organisation": {
            "nullable": true,
            "type": "string"
          },
          "ciblage_types_organisation": {
            "nullable": true,
            "type": "string"
          },
          "contenu": {
            "type": "string"
          },
          "created_at": {},
          "date_bouclage": {},
          "date_debut_enquete": {},
          "date_fin_enquete": {},
          "date_parution_prevue": {},
          "genre": {
            "type": "string"
          },
          "geo_localisation": {
            "type": "string"
          },
          "id": {
            "type": "integer"
          },
          "kind": {
            "default": "avis_enquete"
          },
          "language": {
            "type": "string"
          },
          "media_id": {
            "nullable": true,
            "type": "integer"
          },
          "modified_at": {},
          "publisher_id": {
            "nullable": true,
            "type": "integer"
          },
          "section": {
            "type": "string"
          },
          "sector": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "titre": {
            "type": "string"
          },
          "topic": {
            "type": "string"
          },
          "type_avis": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "MyAvisEnqueteCollection": {
        "additionalProperties": false,
        "properties": {
          "_links": {
            "additionalProperties": {},
            "type": "object"
          },
          "count": {
            "description": "Resources on this page.",
            "type": "integer"
          },
          "items": {
            "items": {
              "$ref": "#/components/schemas/MyAvisEnquete"
            },
            "type": "array"
          },
          "limit": {
            "type": "integer"
          },
          "offset": {
            "type": "integer"
          },
          "total": {
            "description": "Total matching resources.",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "MyEditorialProduct": {
        "additionalProperties": false,
        "properties": {
          "_links": {
            "readOnly": true
          },
          "created_at": {},
          "description": {
            "type": "string"
          },
          "id": {
            "type": "integer"
          },
          "image_url": {
            "type": "string"
          },
          "kind": {
            "default": "editorial_product"
          },
          "modified_at": {},
          "price": {
            "type": "integer"
          },
          "product_type": {
            "type": "string"
          },
          "status": {},
          "title": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "MyEditorialProductCollection": {
        "additionalProperties": false,
        "properties": {
          "_links": {
            "additionalProperties": {},
            "type": "object"
          },
          "count": {
            "description": "Resources on this page.",
            "type": "integer"
          },
          "items": {
            "items": {
              "$ref": "#/components/schemas/MyEditorialProduct"
            },
            "type": "array"
          },
          "limit": {
            "type": "integer"
          },
          "offset": {
            "type": "integer"
          },
          "total": {
            "description": "Total matching resources.",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "MyEvent": {
        "additionalProperties": false,
        "properties": {
          "_links": {
            "readOnly": true
          },
          "address": {
            "type": "string"
          },
          "chapo": {
            "type": "string"
          },
          "contenu": {
            "type": "string"
          },
          "created_at": {},
          "end_time": {},
          "event_type": {
            "type": "string"
          },
          "expired_at": {},
          "id": {
            "type": "integer"
          },
          "kind": {
            "default": "event"
          },
          "language": {
            "type": "string"
          },
          "modified_at": {},
          "pays_zip_ville": {
            "type": "string"
          },
          "published_at": {},
          "publisher_id": {
            "nullable": true,
            "type": "integer"
          },
          "sector": {
            "type": "string"
          },
          "start_time": {},
          "status": {
            "type": "string"
          },
          "titre": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "MyEventCollection": {
        "additionalProperties": false,
        "properties": {
          "_links": {
            "additionalProperties": {},
            "type": "object"
          },
          "count": {
            "description": "Resources on this page.",
            "type": "integer"
          },
          "items": {
            "items": {
              "$ref": "#/components/schemas/MyEvent"
            },
            "type": "array"
          },
          "limit": {
            "type": "integer"
          },
          "offset": {
            "type": "integer"
          },
          "total": {
            "description": "Total matching resources.",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "MyJob": {
        "additionalProperties": false,
        "properties": {
          "_links": {
            "readOnly": true
          },
          "contact_email": {
            "type": "string"
          },
          "contract_type": {},
          "created_at": {},
          "currency": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "emitter_org_id": {
            "nullable": true,
            "type": "integer"
          },
          "full_time": {
            "type": "boolean"
          },
          "id": {
            "type": "integer"
          },
          "kind": {
            "default": "job"
          },
          "location": {
            "type": "string"
          },
          "mission_status": {},
          "modified_at": {},
          "pays_zip_ville": {
            "type": "string"
          },
          "remote_ok": {
            "type": "boolean"
          },
          "salary_max": {
            "nullable": true,
            "type": "integer"
          },
          "salary_min": {
            "nullable": true,
            "type": "integer"
          },
          "starting_date": {},
          "status": {},
          "subcategory": {
            "type": "string"
          },
          "title": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "MyJobCollection": {
        "additionalProperties": false,
        "properties": {
          "_links": {
            "additionalProperties": {},
            "type": "object"
          },
          "count": {
            "description": "Resources on this page.",
            "type": "integer"
          },
          "items": {
            "items": {
              "$ref": "#/components/schemas/MyJob"
            },
            "type": "array"
          },
          "limit": {
            "type": "integer"
          },
          "offset": {
            "type": "integer"
          },
          "total": {
            "description": "Total matching resources.",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "MyMission": {
        "additionalProperties": false,
        "properties": {
          "_links": {
            "readOnly": true
          },
          "budget_max": {
            "nullable": true,
            "type": "integer"
          },
          "budget_min": {
            "nullable": true,
            "type": "integer"
          },
          "category": {},
          "competences_journalisme": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "contact_email": {
            "type": "string"
          },
          "created_at": {},
          "currency": {
            "type": "string"
          },
          "deadline": {},
          "description": {
            "type": "string"
          },
          "emitter_org_id": {
            "nullable": true,
            "type": "integer"
          },
          "id": {
            "type": "integer"
          },
          "kind": {
            "default": "mission"
          },
          "langues": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "location": {
            "type": "string"
          },
          "metiers_journalisme": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "mission_status": {},
          "modified_at": {},
          "pays_zip_ville": {
            "type": "string"
          },
          "physical_required": {
            "type": "boolean"
          },
          "remote_required": {
            "type": "boolean"
          },
          "status": {},
          "subcategory": {
            "type": "string"
          },
          "title": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "MyMissionCollection": {
        "additionalProperties": false,
        "properties": {
          "_links": {
            "additionalProperties": {},
            "type": "object"
          },
          "count": {
            "description": "Resources on this page.",
            "type": "integer"
          },
          "items": {
            "items": {
              "$ref": "#/components/schemas/MyMission"
            },
            "type": "array"
          },
          "limit": {
            "type": "integer"
          },
          "offset": {
            "type": "integer"
          },
          "total": {
            "description": "Total matching resources.",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "MyPressRelease": {
        "additionalProperties": false,
        "properties": {
          "_links": {
            "readOnly": true
          },
          "address": {
            "type": "string"
          },
          "chapo": {
            "type": "string"
          },
          "contenu": {
            "type": "string"
          },
          "created_at": {},
          "embargoed_until": {},
          "expired_at": {},
          "genre": {
            "type": "string"
          },
          "geo_localisation": {
            "type": "string"
          },
          "id": {
            "type": "integer"
          },
          "kind": {
            "default": "press_release"
          },
          "language": {
            "type": "string"
          },
          "modified_at": {},
          "pays_zip_ville": {
            "type": "string"
          },
          "published_at": {},
          "publisher_id": {
            "nullable": true,
            "type": "integer"
          },
          "section": {
            "type": "string"
          },
          "sector": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "titre": {
            "type": "string"
          },
          "topic": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "MyPressReleaseCollection": {
        "additionalProperties": false,
        "properties": {
          "_links": {
            "additionalProperties": {},
            "type": "object"
          },
          "count": {
            "description": "Resources on this page.",
            "type": "integer"
          },
          "items": {
            "items": {
              "$ref": "#/components/schemas/MyPressRelease"
            },
            "type": "array"
          },
          "limit": {
            "type": "integer"
          },
          "offset": {
            "type": "integer"
          },
          "total": {
            "description": "Total matching resources.",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "MyProject": {
        "additionalProperties": false,
        "properties": {
          "_links": {
            "readOnly": true
          },
          "budget_max": {
            "nullable": true,
            "type": "integer"
          },
          "budget_min": {
            "nullable": true,
            "type": "integer"
          },
          "contact_email": {
            "type": "string"
          },
          "created_at": {},
          "currency": {
            "type": "string"
          },
          "deadline": {},
          "description": {
            "type": "string"
          },
          "duration_months": {
            "nullable": true,
            "type": "integer"
          },
          "emitter_org_id": {
            "nullable": true,
            "type": "integer"
          },
          "id": {
            "type": "integer"
          },
          "kind": {
            "default": "project"
          },
          "location": {
            "type": "string"
          },
          "mission_status": {},
          "modified_at": {},
          "pays_zip_ville": {
            "type": "string"
          },
          "project_category": {
            "type": "string"
          },
          "project_type": {
            "type": "string"
          },
          "status": {},
          "subcategory": {
            "type": "string"
          },
          "team_size": {
            "nullable": true,
            "type": "integer"
          },
          "title": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "MyProjectCollection": {
        "additionalProperties": false,
        "properties": {
          "_links": {
            "additionalProperties": {},
            "type": "object"
          },
          "count": {
            "description": "Resources on this page.",
            "type": "integer"
          },
          "items": {
            "items": {
              "$ref": "#/components/schemas/MyProject"
            },
            "type": "array"
          },
          "limit": {
            "type": "integer"
          },
          "offset": {
            "type": "integer"
          },
          "total": {
            "description": "Total matching resources.",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "Organisation": {
        "additionalProperties": false,
        "properties": {
          "_links": {
            "readOnly": true
          },
          "bw_active": {
            "nullable": true,
            "type": "string"
          },
          "bw_name": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "geo_lat": {
            "type": "number"
          },
          "geo_lng": {
            "type": "number"
          },
          "id": {
            "type": "integer"
          },
          "karma": {
            "type": "integer"
          },
          "name": {
            "type": "string"
          },
          "region": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "zip_code": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "OrganisationCollection": {
        "additionalProperties": false,
        "properties": {
          "_links": {
            "additionalProperties": {},
            "type": "object"
          },
          "count": {
            "description": "Resources on this page.",
            "type": "integer"
          },
          "items": {
            "items": {
              "$ref": "#/components/schemas/Organisation"
            },
            "type": "array"
          },
          "limit": {
            "type": "integer"
          },
          "offset": {
            "type": "integer"
          },
          "total": {
            "description": "Total matching resources.",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "PaginationMetadata": {
        "additionalProperties": false,
        "properties": {
          "first_page": {
            "description": "First available page number.",
            "type": "integer"
          },
          "last_page": {
            "description": "Last available page number.",
            "type": "integer"
          },
          "next_page": {
            "description": "Next page number.",
            "type": "integer"
          },
          "page": {
            "description": "Current page number.",
            "type": "integer"
          },
          "previous_page": {
            "description": "Previous page number.",
            "type": "integer"
          },
          "total": {
            "description": "Total number of items.",
            "type": "integer"
          },
          "total_pages": {
            "description": "Total number of pages.",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "PressRelease": {
        "additionalProperties": false,
        "properties": {
          "_links": {
            "readOnly": true
          },
          "comment_count": {
            "type": "integer"
          },
          "content": {
            "description": "Sanitized HTML body. For a for-sale item this is the preview unless the token's user is entitled to the full text.",
            "readOnly": true
          },
          "expires_at": {},
          "genre": {
            "type": "string"
          },
          "geo_localisation": {
            "type": "string"
          },
          "id": {
            "type": "integer"
          },
          "kind": {
            "default": "press_release"
          },
          "language": {
            "type": "string"
          },
          "last_updated_at": {},
          "like_count": {
            "type": "integer"
          },
          "media_id": {
            "nullable": true,
            "type": "integer"
          },
          "pays_zip_ville": {
            "type": "string"
          },
          "published_at": {},
          "publisher_id": {
            "nullable": true,
            "type": "integer"
          },
          "section": {
            "type": "string"
          },
          "sector": {
            "type": "string"
          },
          "summary": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "topic": {
            "type": "string"
          },
          "view_count": {
            "type": "integer"
          }
        },
        "type": "object"
      },
      "PressReleaseCollection": {
        "additionalProperties": false,
        "properties": {
          "_links": {
            "additionalProperties": {},
            "type": "object"
          },
          "count": {
            "description": "Resources on this page.",
            "type": "integer"
          },
          "items": {
            "items": {
              "$ref": "#/components/schemas/PressRelease"
            },
            "type": "array"
          },
          "limit": {
            "type": "integer"
          },
          "offset": {
            "type": "integer"
          },
          "total": {
            "description": "Total matching resources.",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "PressReleaseUpdate": {
        "additionalProperties": false,
        "properties": {
          "address": {
            "type": "string"
          },
          "chapo": {
            "description": "Standfirst / lede.",
            "type": "string"
          },
          "contenu": {
            "description": "Body (sanitized HTML).",
            "type": "string"
          },
          "embargoed_until": {
            "description": "Publication is refused while this is in the future.",
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "genre": {
            "type": "string"
          },
          "geo_localisation": {
            "type": "string"
          },
          "language": {
            "type": "string"
          },
          "pays_zip_ville": {
            "type": "string"
          },
          "publisher_id": {
            "description": "Organisation to attribute/publish on behalf of. Defaults to the caller's own organisation; a client org is only accepted if the caller is authorized to publish for it.",
            "nullable": true,
            "type": "integer"
          },
          "section": {
            "type": "string"
          },
          "sector": {
            "type": "string"
          },
          "titre": {
            "description": "Title.",
            "type": "string"
          },
          "topic": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "PressReleaseWrite": {
        "additionalProperties": false,
        "properties": {
          "address": {
            "type": "string"
          },
          "chapo": {
            "description": "Standfirst / lede.",
            "type": "string"
          },
          "contenu": {
            "description": "Body (sanitized HTML).",
            "type": "string"
          },
          "embargoed_until": {
            "description": "Publication is refused while this is in the future.",
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "genre": {
            "type": "string"
          },
          "geo_localisation": {
            "type": "string"
          },
          "language": {
            "type": "string"
          },
          "pays_zip_ville": {
            "type": "string"
          },
          "publisher_id": {
            "description": "Organisation to attribute/publish on behalf of. Defaults to the caller's own organisation; a client org is only accepted if the caller is authorized to publish for it.",
            "nullable": true,
            "type": "integer"
          },
          "section": {
            "type": "string"
          },
          "sector": {
            "type": "string"
          },
          "titre": {
            "description": "Title (required).",
            "type": "string"
          },
          "topic": {
            "type": "string"
          }
        },
        "required": [
          "titre"
        ],
        "type": "object"
      },
      "Root": {
        "additionalProperties": false,
        "properties": {
          "_links": {
            "additionalProperties": {},
            "type": "object"
          },
          "api": {
            "type": "string"
          },
          "version": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "SelfProfile": {
        "additionalProperties": false,
        "properties": {
          "_links": {
            "readOnly": true
          },
          "competences": {
            "readOnly": true
          },
          "cover_url": {
            "readOnly": true
          },
          "created_at": {},
          "email": {
            "type": "string"
          },
          "email_secours": {
            "nullable": true,
            "type": "string"
          },
          "first_name": {
            "type": "string"
          },
          "full_name": {
            "type": "string"
          },
          "gcu_acceptation": {
            "type": "boolean"
          },
          "gender": {
            "type": "string"
          },
          "id": {
            "type": "integer"
          },
          "job_title": {
            "type": "string"
          },
          "karma": {
            "type": "number"
          },
          "langues": {
            "readOnly": true
          },
          "last_name": {
            "type": "string"
          },
          "metiers": {
            "readOnly": true
          },
          "modified_at": {},
          "organisation_id": {
            "nullable": true,
            "type": "integer"
          },
          "organisation_name": {
            "type": "string"
          },
          "photo_url": {
            "readOnly": true
          },
          "presentation": {
            "readOnly": true
          },
          "profile_community": {
            "readOnly": true
          },
          "profile_label": {
            "readOnly": true
          },
          "roles": {
            "readOnly": true
          },
          "secteurs_activite": {
            "readOnly": true
          },
          "status": {
            "type": "string"
          },
          "tel_mobile": {
            "type": "string"
          },
          "validated_at": {},
          "validation_status": {
            "type": "string"
          }
        },
        "type": "object"
      }
    },
    "securitySchemes": {
      "BearerAuth": {
        "description": "An AIpress24 API token, sent as `Authorization: Bearer <token>`.",
        "scheme": "bearer",
        "type": "http"
      }
    }
  },
  "info": {
    "title": "AIpress24 API",
    "version": "1.0"
  },
  "openapi": "3.0.3",
  "paths": {
    "/api/v1/": {
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Root"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "security": [],
        "summary": "Entry point: link relations for every collection plus the docs.",
        "tags": [
          "Discovery"
        ]
      }
    },
    "/api/v1/articles": {
      "get": {
        "parameters": [
          {
            "description": "1–100.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 20,
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ArticleCollection"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "List published articles (most recent first).",
        "tags": [
          "Content"
        ]
      }
    },
    "/api/v1/articles/{article_id}": {
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Article"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Fetch a single published article.",
        "tags": [
          "Content"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "article_id",
          "required": true,
          "schema": {
            "minimum": 0,
            "type": "integer"
          }
        }
      ]
    },
    "/api/v1/business-walls": {
      "get": {
        "parameters": [
          {
            "description": "1–100.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 20,
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BusinessWallCollection"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "List active Business Walls (public organisation pages).",
        "tags": [
          "Organisations"
        ]
      }
    },
    "/api/v1/business-walls/{business_wall_id}": {
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BusinessWall"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Fetch a single active Business Wall.",
        "tags": [
          "Organisations"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "business_wall_id",
          "required": true,
          "schema": {
            "format": "uuid",
            "type": "string"
          }
        }
      ]
    },
    "/api/v1/events": {
      "get": {
        "parameters": [
          {
            "description": "1–100.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 20,
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventCollection"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "List published events (most recent first).",
        "tags": [
          "Content"
        ]
      }
    },
    "/api/v1/events/{event_id}": {
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Event"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Fetch a single published event.",
        "tags": [
          "Content"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "event_id",
          "required": true,
          "schema": {
            "minimum": 0,
            "type": "integer"
          }
        }
      ]
    },
    "/api/v1/me": {
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SelfProfile"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "The authenticated user's own profile (private self-view).",
        "tags": [
          "My content"
        ]
      }
    },
    "/api/v1/me/articles": {
      "get": {
        "parameters": [
          {
            "description": "1–100.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 20,
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MyArticleCollection"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "List the caller's own newsroom articles (any status).",
        "tags": [
          "My content"
        ]
      },
      "post": {
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ArticleWrite"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MyArticle"
                }
              }
            },
            "description": "Created"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Create a newsroom article draft owned by the caller (journalists).",
        "tags": [
          "My content"
        ]
      }
    },
    "/api/v1/me/articles/{article_id}": {
      "delete": {
        "responses": {
          "204": {
            "description": "No Content"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Soft-delete one of the caller's own articles.",
        "tags": [
          "My content"
        ]
      },
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MyArticle"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Fetch one of the caller's own articles.",
        "tags": [
          "My content"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "article_id",
          "required": true,
          "schema": {
            "minimum": 0,
            "type": "integer"
          }
        }
      ],
      "patch": {
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ArticleUpdate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MyArticle"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Update one of the caller's own articles (partial).",
        "tags": [
          "My content"
        ]
      }
    },
    "/api/v1/me/articles/{article_id}/publish": {
      "parameters": [
        {
          "in": "path",
          "name": "article_id",
          "required": true,
          "schema": {
            "minimum": 0,
            "type": "integer"
          }
        }
      ],
      "post": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MyArticle"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Publish one of the caller's own articles.",
        "tags": [
          "My content"
        ]
      }
    },
    "/api/v1/me/articles/{article_id}/unpublish": {
      "parameters": [
        {
          "in": "path",
          "name": "article_id",
          "required": true,
          "schema": {
            "minimum": 0,
            "type": "integer"
          }
        }
      ],
      "post": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MyArticle"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Return one of the caller's own articles to draft.",
        "tags": [
          "My content"
        ]
      }
    },
    "/api/v1/me/enquiry-notices": {
      "get": {
        "parameters": [
          {
            "description": "1–100.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 20,
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MyAvisEnqueteCollection"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "List the caller's own enquiry notices (avis d'enquête).",
        "tags": [
          "My content"
        ]
      }
    },
    "/api/v1/me/enquiry-notices/{notice_id}": {
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MyAvisEnquete"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Fetch one of the caller's own enquiry notices.",
        "tags": [
          "My content"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "notice_id",
          "required": true,
          "schema": {
            "minimum": 0,
            "type": "integer"
          }
        }
      ]
    },
    "/api/v1/me/events": {
      "get": {
        "parameters": [
          {
            "description": "1–100.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 20,
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MyEventCollection"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "List the caller's own events (any status).",
        "tags": [
          "My content"
        ]
      },
      "post": {
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventWrite"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MyEvent"
                }
              }
            },
            "description": "Created"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Create an event draft owned by the caller.",
        "tags": [
          "My content"
        ]
      }
    },
    "/api/v1/me/events/{event_id}": {
      "delete": {
        "responses": {
          "204": {
            "description": "No Content"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Soft-delete one of the caller's own events.",
        "tags": [
          "My content"
        ]
      },
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MyEvent"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Fetch one of the caller's own events.",
        "tags": [
          "My content"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "event_id",
          "required": true,
          "schema": {
            "minimum": 0,
            "type": "integer"
          }
        }
      ],
      "patch": {
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventUpdate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MyEvent"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Update one of the caller's own events (partial).",
        "tags": [
          "My content"
        ]
      }
    },
    "/api/v1/me/events/{event_id}/publish": {
      "parameters": [
        {
          "in": "path",
          "name": "event_id",
          "required": true,
          "schema": {
            "minimum": 0,
            "type": "integer"
          }
        }
      ],
      "post": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MyEvent"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Publish one of the caller's own events (requires start/end times).",
        "tags": [
          "My content"
        ]
      }
    },
    "/api/v1/me/events/{event_id}/unpublish": {
      "parameters": [
        {
          "in": "path",
          "name": "event_id",
          "required": true,
          "schema": {
            "minimum": 0,
            "type": "integer"
          }
        }
      ],
      "post": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MyEvent"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Return one of the caller's own events to draft.",
        "tags": [
          "My content"
        ]
      }
    },
    "/api/v1/me/jobs": {
      "get": {
        "parameters": [
          {
            "description": "1–100.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 20,
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MyJobCollection"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "List the caller's own job offers (any status).",
        "tags": [
          "My marketplace"
        ]
      }
    },
    "/api/v1/me/jobs/{job_id}": {
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MyJob"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Fetch one of the caller's own job offers.",
        "tags": [
          "My marketplace"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "job_id",
          "required": true,
          "schema": {
            "minimum": 0,
            "type": "integer"
          }
        }
      ]
    },
    "/api/v1/me/missions": {
      "get": {
        "parameters": [
          {
            "description": "1–100.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 20,
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MyMissionCollection"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "List the caller's own mission offers (any status).",
        "tags": [
          "My marketplace"
        ]
      }
    },
    "/api/v1/me/missions/{mission_id}": {
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MyMission"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Fetch one of the caller's own mission offers.",
        "tags": [
          "My marketplace"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "mission_id",
          "required": true,
          "schema": {
            "minimum": 0,
            "type": "integer"
          }
        }
      ]
    },
    "/api/v1/me/press-releases": {
      "get": {
        "parameters": [
          {
            "description": "1–100.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 20,
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MyPressReleaseCollection"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "List the caller's own press releases (any status).",
        "tags": [
          "My content"
        ]
      },
      "post": {
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PressReleaseWrite"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MyPressRelease"
                }
              }
            },
            "description": "Created"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Create a press release draft owned by the caller.",
        "tags": [
          "My content"
        ]
      }
    },
    "/api/v1/me/press-releases/{press_release_id}": {
      "delete": {
        "responses": {
          "204": {
            "description": "No Content"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Soft-delete one of the caller's own press releases.",
        "tags": [
          "My content"
        ]
      },
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MyPressRelease"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Fetch one of the caller's own press releases.",
        "tags": [
          "My content"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "press_release_id",
          "required": true,
          "schema": {
            "minimum": 0,
            "type": "integer"
          }
        }
      ],
      "patch": {
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PressReleaseUpdate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MyPressRelease"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Update one of the caller's own press releases (partial).",
        "tags": [
          "My content"
        ]
      }
    },
    "/api/v1/me/press-releases/{press_release_id}/publish": {
      "parameters": [
        {
          "in": "path",
          "name": "press_release_id",
          "required": true,
          "schema": {
            "minimum": 0,
            "type": "integer"
          }
        }
      ],
      "post": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MyPressRelease"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Publish one of the caller's own press releases.",
        "tags": [
          "My content"
        ]
      }
    },
    "/api/v1/me/press-releases/{press_release_id}/unpublish": {
      "parameters": [
        {
          "in": "path",
          "name": "press_release_id",
          "required": true,
          "schema": {
            "minimum": 0,
            "type": "integer"
          }
        }
      ],
      "post": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MyPressRelease"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Return one of the caller's own press releases to draft.",
        "tags": [
          "My content"
        ]
      }
    },
    "/api/v1/me/products": {
      "get": {
        "parameters": [
          {
            "description": "1–100.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 20,
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MyEditorialProductCollection"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "List the caller's own editorial products (any status).",
        "tags": [
          "My marketplace"
        ]
      }
    },
    "/api/v1/me/products/{product_id}": {
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MyEditorialProduct"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Fetch one of the caller's own editorial products.",
        "tags": [
          "My marketplace"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "product_id",
          "required": true,
          "schema": {
            "minimum": 0,
            "type": "integer"
          }
        }
      ]
    },
    "/api/v1/me/projects": {
      "get": {
        "parameters": [
          {
            "description": "1–100.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 20,
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MyProjectCollection"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "List the caller's own project offers (any status).",
        "tags": [
          "My marketplace"
        ]
      }
    },
    "/api/v1/me/projects/{project_id}": {
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MyProject"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Fetch one of the caller's own project offers.",
        "tags": [
          "My marketplace"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "project_id",
          "required": true,
          "schema": {
            "minimum": 0,
            "type": "integer"
          }
        }
      ]
    },
    "/api/v1/members": {
      "get": {
        "parameters": [
          {
            "description": "1–100.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 20,
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MemberCollection"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "List public member profiles (contact details redacted).",
        "tags": [
          "Directory"
        ]
      }
    },
    "/api/v1/members/{member_id}": {
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Member"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Fetch a single public member profile.",
        "tags": [
          "Directory"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "member_id",
          "required": true,
          "schema": {
            "minimum": 0,
            "type": "integer"
          }
        }
      ]
    },
    "/api/v1/organisations": {
      "get": {
        "parameters": [
          {
            "description": "1–100.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 20,
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganisationCollection"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "List active organisations.",
        "tags": [
          "Organisations"
        ]
      }
    },
    "/api/v1/organisations/{organisation_id}": {
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Organisation"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Fetch a single active organisation.",
        "tags": [
          "Organisations"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "organisation_id",
          "required": true,
          "schema": {
            "minimum": 0,
            "type": "integer"
          }
        }
      ]
    },
    "/api/v1/press-releases": {
      "get": {
        "parameters": [
          {
            "description": "1–100.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 20,
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PressReleaseCollection"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "List published press releases (most recent first).",
        "tags": [
          "Content"
        ]
      }
    },
    "/api/v1/press-releases/{press_release_id}": {
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PressRelease"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Fetch a single published press release.",
        "tags": [
          "Content"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "press_release_id",
          "required": true,
          "schema": {
            "minimum": 0,
            "type": "integer"
          }
        }
      ]
    }
  },
  "security": [
    {
      "BearerAuth": []
    }
  ],
  "tags": [
    {
      "name": "Discovery",
      "description": "The API entry point and its link relations."
    },
    {
      "name": "Content",
      "description": "Published articles, press releases and events (public, read)."
    },
    {
      "name": "Organisations",
      "description": "Active organisations and Business Walls (read)."
    },
    {
      "name": "Directory",
      "description": "Public member profiles (read)."
    },
    {
      "name": "My content",
      "description": "The token owner's own profile, articles, press releases, events and enquiry notices — read, plus authoring and publishing."
    },
    {
      "name": "My marketplace",
      "description": "The token owner's own missions, projects, jobs and products (read)."
    }
  ],
  "servers": [
    {
      "url": "https://aipress24.com",
      "description": "Production"
    }
  ]
}
